Seite 1 von 1
Bedeutung des Kommentars in der ersten Programmzeile
Verfasst: Freitag 20. August 2021, 20:10
von Lukas_25025
Hey Leute,
Ich lerne gerade Python und habe in vielen Programmen diesen Code in der ersten Zeile gesehen:
Kann mir jemand erklären, wofür der gut ist, und wann man ihn in welcher Form schreibt?
LG
Re: Bedeutung des Kommentars in der ersten Programmzeile
Verfasst: Freitag 20. August 2021, 20:54
von dirk009
Hallo @Lukas_25025,
das ist ein sogenannter shebank (siehe
https://de.wikipedia.org/wiki/Shebang).
Es gibt einen Hinweis, welcher Interpreter verwendet werden soll (unter unixartigen Betriebssystemen).
Cheers,
Dirk
Re: Bedeutung des Kommentars in der ersten Programmzeile
Verfasst: Freitag 20. August 2021, 21:00
von smutbert
Noch einmal dasselbe von mir ergänzt um eine Kleinigkeit – ich hatte das schon geschrieben bevor ich dirk009s Antwort gesehen habe:
Das ist der oder die (?) vor allem von unixartigen Betriebssystemen und da besonders bei den diversen Shells wie z. B. der bash bekannte
Shebang in dem festgelegt wird von welchem Programm die Datei interpretiert werden soll, damit man sie etwa von einer Shell aus aufrufen kann.
Dabei ist es notwendig (und üblich) den kompletten Pfad des Programms anzugeben. Der Pfad zu python3 ist aber nicht auf allen Systemen derselbe, weshalb es besser ist nicht einfach das häufig zutreffende
sondern für python3
zu schreiben, das immer funktioniert solange python3 im Suchpfad ist.
Re: Bedeutung des Kommentars in der ersten Programmzeile
Verfasst: Freitag 20. August 2021, 21:52
von __blackjack__
Kleine Korrektur: Es ist das Betriebssystem, das die Zeile auswertet, nicht die Shell.
Ergänzung: Unter Windows ist das für Python relevant, weil dort *.py-Dateien mit `py.exe` verknüpft werden, und *das* Programm wertet die Zeile auch aus um letztlich den tatsächlichen Interpreter zu wählen. So kann man auch unter Windows verschiedene Python-Versionen konfigurieren. Näheres steht in der Python-Dokumentation.
Re: Bedeutung des Kommentars in der ersten Programmzeile
Verfasst: Samstag 21. August 2021, 11:16
von Lukas_25025
@__blackjack__ , @smutbert , @dirk009
Danke für die Antworten, kann ich das dann einfach bei jedem Python Programm in die erste Zeile schreiben oder wird das nur in bestimmten Fällen benötigt?
Wenn ja in welchen?
Re: Bedeutung des Kommentars in der ersten Programmzeile
Verfasst: Samstag 21. August 2021, 13:47
von hyle
Das kannst Du immer reinschreiben. Verwendet wird das jedoch nur, wenn das Skript ausführbar ist und der Interpreter beim Aufruf des Skripts nicht vorangestellt wurde.
D.h. wenn das Skript ausführbar ist und per
/Pfad/zum/Skript.py aufgerufen wird, dann liest das System den Shebang und verwendet diesen zum starten des Interpreters.
Wird aber der Interpreter beim Aufruf vorangestellt
python3 /Pfad/zum/Skript.py, dann ist die erste Zeile nur ein Kommentar und wird nicht weiter beachtet.
//Edit
Kann man auch testen, z.B. damit:
Code: Alles auswählen
#!/usr/bin/env python3
import sys
print("Python{}.{}.{}".format(sys.version_info.major, sys.version_info.minor, sys.version_info.micro))