Fehler beim öffnen von zip Datei auf Raspberry pi

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
EiSiMo
User
Beiträge: 15
Registriert: Freitag 16. Juni 2017, 17:05

Hallo,
ich habe ein Programm geschrieben um zip-Dateien zu brueforcen. Dieses funktioniert auch wunderbar doch jetzt möchte ich dieses auf meinem Rapberry pi unter raspbian strech lite laufen lassen um Strom zu sparen. Ich öffne das Dokument mit

Code: Alles auswählen

zipFile = zipfile.ZipFile(input("enter the zipfile datapath: "))
wenn ich hier dann das Dokument Test.zip angebe, welches sich im gleichen Ordner befindet, wie das Python Script bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "zip_bruteforcer.py", line 66, in <module>
    main = Main()
  File "zip_bruteforcer.py", line 63, in __init__
    self.bruteforce()
  File "zip_bruteforcer.py", line 25, in bruteforce
    self.zipFile = zipfile.ZipFile(input("enter the zipfile datapath: "))
  File "<string>", line 1, in <module>
NameError: name 'Test' is not defined
Bin dankbar für jede Hilfe.
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

Du versuchst ein Skript, das du anscheinend für Python3 geschrieben hast mit Python2 auszuführen. Du musst das Skript entweder mit Python3 ausführen, oder 'input' durch 'raw_input' ersetzen bzw. eine Weiche einbauen, die unter Python2 'raw_input' an den Namen 'input' bindet.

Der Name der Variable "zipFile" entspricht nicht PEP8. Er sollte 'zip_file' sein.
EiSiMo
User
Beiträge: 15
Registriert: Freitag 16. Juni 2017, 17:05

Habe das Script mit python3 ausgeführt Danke für die Hilfe.
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@EiSiMo: Nicht nur die Namensschreibweise deutet auf etwas „unpythonisches“ hin, sondern auch die Klasse und das darin anscheinend alles stattfindet, inklusive Benutzerinteraktion und die `__init__()` nicht nur das Objekt initialisiert, sondern auch ”alles” ausführt. Ich würde man behaupten diese `Main`-Klasse ist Unsinn.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten