Vorschau: Einfacher Syntax Fehler (glaube ich)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
BarackObama
User
Beiträge: 2
Registriert: Samstag 17. April 2021, 11:18

Das ist mein erster Code, den ich geschrieben bzw. kopiert habe. Er stammt aus diesem YouTube Video: https://www.youtube.com/watch?v=WmgD2pPhj3Q Ich bekomme beim Ausführen immer einen
Error:

Code: Alles auswählen

C:\Users\***\Downloads>python search.py
  File "search.py", line 9
    if to_check in line:
                       ^
IndentationError: unindent does not match any outer indentation level

C:\Users\***\Downloads>




Mein (bzw. der des YouTubers):

Code: Alles auswählen

import sys, hashlib
sys.argv[1]
message_digest = hashlib.sha1()
message_digest.update(bytes(pwd, encoding="utf-8"))
to_check = message_digest.hexdigest().upper()
leaked = False
with open("sha1_hash.txt") as file:
     for line in file:
    if to_check in line:
         print(f"F*ck dis shit, das Passwort wurde {line.split(":")[1].strip()} geleakt...ÄNDERN!!!")
         leaked = true
         break
    if not leaked:
        print("Yippiyayay Schweinebacken! Keine Leaks! Du bist ein Meister der Verschlüsselung")

Ich weiß nicht, wie welche Zeilen eingerückt sein müssen oder wo Leerzeichen hin müssen.

Wie gesagt, ist das mein erster code, den ich nur kopieren wollte, um zu checken, wie sicher meine Passwörter sind. Wenn ihr mir weiterhelfen könnt, freu ich mich. Wenn euch das zu "einfach" oder was auch
immer ist, ist das natürlich auch nicht schlimm.
MfG
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Es ist wirklich wichtig, alles exakt so abzuschreiben, wie es im Video auch gezeigt wird. Also jeder Buchstabe und jedes Leerzeichen.
Alles was gleich weit eingerückt ist, gehört zu einem Block, so dass Python z.B. weiß, was alles bei der for-Schleife wiederholt werden muß.
Und auch das `pwd` fehlt bei Dir in der zweiten Zeile.
BarackObama
User
Beiträge: 2
Registriert: Samstag 17. April 2021, 11:18

Okay vielen Dank schon mal für die Hilfe. Ich habe jetzt alles genau eingerückt, wie im Video, jedoch meckert er jetzt an einer anderen Stelle wegen der Syntax:

Code: Alles auswählen

C:\Users\***\Downloads>python search.py
  File "search.py", line 12
    print(f"Fck dis shit, das Passwort wurde {line.split(":")[1].strip()} Mal geleakt...ÄNDERN
                                                          ^
SyntaxError: invalid syntax

C:\Users\***\Downloads>
Mein Code:

Code: Alles auswählen

import sys, hashlib

pwd = sys.argv[1]
message_digest = hashlib.sha1()
message_digest.update(bytes(pwd, encoding="utf-8"))
to_check = message_digest.hexdigest().upper()

leaked = False
with open("sha1_hash.txt") as file:
    for line in file:
        if to_check in line:
            print(f"Fck dis shit, das Passwort wurde {line.split(":")[1].strip()} Mal geleakt...ÄNDERN
            leaked = False
            break
    if not leaked:
        print("Yippiyayay Schweinebacken! Keine Leaks! Du bist ein Meister der Verschlüsselung")
In dem Video sieht der Code genau so aus. Deswegen weiß ich nicht, was der Fehler ist.
MfG
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Ja, im Video werden zwar einfache Anführungszeichen verwendet, aber genauso falsch.
Bei Verschachtelung muß man einmal Einfache und einmal Doppelte Anführungszeichen verwenden.

Code: Alles auswählen

            print(f"Fck dis shit, das Passwort wurde {line.split(':')[1].strip()} Mal geleakt...")
Oder besser gleich gar nicht so komplizierte Ausdrücke in f-Strings einbauen.

Code: Alles auswählen

            count =  line.split(":")[1].strip()
            print(f"Fck dis shit, das Passwort wurde {count} Mal geleakt...")
Antworten