VSCode: Debug mit Argumenten aus json Datei

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
lupreon
User
Beiträge: 1
Registriert: Mittwoch 14. Januar 2026, 22:54

Hallo,

ich bin komplett neu in der Welt des codings und habe mich generell für Python als erste Sprache entschieden (warum gehört hier glaube ich nicht ganz rein) und bin dementsprechend auch nicht geübt im Umgang mit Editiorsoftware. Ein Tutorial dem ich folge hat VSCode empfohlen und die Beispiele werden auch da gezeigt, mit screenshots usw.

Beim Thema debugging bin ich nun auf ein Hindernis gestoßen. Hier ein Bild von dem Beispielcode auf meinem PC:
https://i.imgur.com/I4QpYrh.png
ich denke, es soll Argumente aus einer anderen datei mit "import" importieren, etwas abgleichen und dann eine simple "hi" message anzeigen. Ohne configuration ist "else" eingetreten, also wurde ich mit "Stranger" begrüßt.

hier nochmal der andere code, ausser dem namen bei args 1:1 vom tutorial übernommen:
https://i.imgur.com/fxesKvW.png
nun soll ich die "run and debug" Funktion nutzen mit der configuration aus dem 2. Screenshot mit ctrl+shift+D und am Ende sollte ich nicht mit Stranger sondern Xenia begrüßt werden. Funktioniert aber nicht. Was habe ich übersehen?

Liebe Grüße und danke im voraus
Sirius3
User
Beiträge: 18344
Registriert: Sonntag 21. Oktober 2012, 17:20

Bitte Code als Code-Tags hier im Forum posten und nicht als Bilder.

Beim Programm ist wahrscheinlich die Einrückung falsch, weil nur im else-Fall etwas ausgegeben wird:

Code: Alles auswählen

import sys

if len(sys.argv) == 2:
    name = sys.argv[1]
else:
    name = "Stranger"
print(f"Hi there, {name}")
Benutzeravatar
__blackjack__
User
Beiträge: 14266
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@lupreon: Ergänzend zu dem was Sirius3 geschrieben hat: Das Programm importiert keine Argumente aus einer anderen Datei. Diese andere Datei ist etwas was nichts mit Python zu tun hat. Das Python-Programm wertet aus, was beim Aufruf als Argument übergeben wurde. Diese andere Datei hat irgend etwas mit VSCode zu tun um VSCode zu sagen was es beim Aufruf des Python-Programms als Argument übergeben soll.

Normalerweise, also ohne irgend einen Editor oder eine IDE, gibt man das Argument einfach beim Aufruf an. Also eine „Eingabeaufforderung“ (cmd.exe oder PowerShell) öffnen und in das Verzeichnis mit dem Python-Programm wechseln und das dort dann mit Argument(en) oder auch ohne aufrufen (das Programm aus dem Beitrag von Sirius3):

Code: Alles auswählen

C:\Users\Startklar\Documents\py tutorial\> python3 "neet stuff.py"
Hi there, Stranger
C:\Users\Startklar\Documents\py tutorial\> python3 "neet stuff.py" Spiderman
Hi there, Spiderman
C:\Users\Startklar\Documents\py tutorial\> python3 "neet stuff.py" Peter Parker
Hi there, Stranger
C:\Users\Startklar\Documents\py tutorial\>
Da der Name des *.py-Datei ein Leerzeichen enthält, muss man den in Anführungszeichen setzen. Der sollte aber kein Leerzeichen enthalten. Nicht nur weil man dann diese zusätzlichen Anführungszeichen in der Shell braucht, sondern auch weil *.py-Dateien Python-Module beschreiben, ein Leerzeichen aber nicht in einem Namen in Python vorkommen darf. Man kann das Modul also in Python nicht wie vorgesehen importieren.

Man sollte sich mit dem eigenen Betriebssystem und der Kommandozeile dort auseinandersetzen und den Umgang damit drauf haben. Also welche Befehle die Shell bietet, wie man Programme aufruft, und so weiter.

Programmiersprachen-Tutorials ignorieren so etwas oft, aber die Umgebung in der man Programme ausführt, sollte man auch kennen, und den grundlegenden Umgang damit beherrschen, und sich das nicht alles durch einen Editor oder eine IDE ”filtern” lassen. Programme verhalten sich innerhalb von IDEs ab und zu mal subtil anders als in der normalen Umgebung ohne IDE.
“Programming is partially an artform and, like artists, programmers will do it even if they don't get money.” — Linus Torvalds
Antworten