Python ValueError: invalid literal for int() with base 10?

2 Antworten

Von Experten daCypher und mihisu bestätigt

Das erste Element, welches in argv steht, entspricht dem Namen des Skripts, welches ausgeführt wird. Du wolltest sicherlich stattdessen ein Argument, welches du an das Skript mit übergibst, in eine Zahl umwandeln. Schau in argv[1].

Schau dir mal an welchen Inhalt die variable trägt.

Der Inhalt von sys.argv[0] ist immer der Dateiname somit klar das es nicht funktioniert wenn du dem Programm Kauderwelsch übergibst welches nicht versteht.

Also versuche es mit sys.argv[1] und darauf überprüfe aber erst ob die variable da es eine Liste ist überhaupt 2 lang ist.

if len(sys.argv) < 2:
  sys.exit()

Überprüfe auch am besten nochmal ob es sich überhaupt um eine Zahl handelt.

Woher ich das weiß:eigene Erfahrung