Ich habe einen Python-Code, der einen Dateinamen als Eingabe und analysiert die Daten im Bericht und gibt Ausgabe im GUI-Fenster . Wenn ich versuche, den Bericht zu analysieren, erhalte ich einen Index außerhalb des Bereichsfehlers. Ich weiß, dass der Fehler wegen sys.argv [1] Argument ist. Aber ich bin nicht in der Lage herauszufinden, warum sys.argv [1] den Dateinamen nicht speichern kann.QApplication (sys.argv) gibt Index außerhalb des Bereichs für sys.argv [1] in Python
Ich habe alle Python-Module deinstalliert, und ich habe den Parser, der den Fehler ausgelöst hat, entfernt.
Ich habe auch Python-Pfad aus der Umgebungsvariablen und auch aus der Registrierung entfernt und dann die Python und meine Parser-Software neu installiert.
Ich habe auch Daten von Nutzern \% Benutzername% \ AppData
gelöscht sowohl Nach der Neuinstallation (python2.7.3 und meine Software von Drittanbietern) Ich habe auch Änderung der Registrierungseintrag HKEY_CLASSES_ROOT \ Applications \ python26 gemacht. exe \ shell \ open \ command bis C:> ftype Python26.File = "C: \ Python26 \ python.exe" "% 1"% * Sogar ich habe den Python-Pfad unter Umgebungsvariable hinzugefügt.
Das funktioniert gut auf anderen Maschinen und auch es funktionierte gut auf meiner Maschine bis zum Tag, ich Python 3.xx deinstalliert (ich hatte sowohl 3.xx und 2.7.3) von meinem Rechner.
Ich erhalte Fehler in file_name = file_path [0] diese Linie ich nicht in der Lage bin zu verstehen, wenn sys.arg [1] nicht vorhanden ist, dann sollte es Fehler wirft in file_path = sys.argv [1 :] diese Zeile. Aber wie ist es in der Lage, die Zeichenfolge in file_path als Listen Größe ist nur 1 zu speichern.
Kann mir jemand bei der Lösung dieses Problems helfen. Danke im Voraus.
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
file_path = sys.argv[1:]
open_window = TelematicsFileViewer()
open_window.show()
file_name = file_path[0]
path = file_path[1]
open_window.parsed_file_out(file_name, path)
sys.exit(app.exec_())
Wenn sys.argv die Länge 1 ist, wird sys.argv [1:] keinen Fehler ausgeben, es wird nur eine leere Liste zurückgegeben. – flyingmeatball