Shebang in Python
In diesem Artikel werden wir darüber sprechen, was shebang in Python bedeutet und wie Sie es in einem Befehl verwenden können. Wir haben ein Beispielprogramm beigefügt, das Ihnen hilft, das Konzept von Python shebang besser zu verstehen.
shebang Definition
Die Zeichenkette shebang ist eine SonderZeichenkette in einer Skriptdatei mit der Bezeichnung #!. Es hilft bei der Angabe des Programmtyps, der aufgerufen werden soll, um die gesamte Skriptdatei auszuführen. Die Zeichenkette shebang wird immer in der ersten Zeile einer Datei verwendet.
Die Anweisung, die den Pfad des Programms erwähnt, wird gemacht, indem zuerst das Zeichen shebang und dann der Pfad des Interpreterprogramms verwendet wird.
shebang in Python
Verwenden Sie für alle Skripte, die in Python3 ausgeführt werden sollen, den folgenden Befehl in der Befehlszeile:
#!/usr/bin/env python3
Ersetzen Sie python3 durch python2, wenn das Skript nur mit Python 2.7 kompatibel ist.
Wenn das Skript sowohl mit Python 2 als auch mit Python 3 kompatibel ist, kann auch der folgende Befehl verwendet werden:
#!/usr/bin/env python
Dieser Code ist auch im Windows Python Launcher verständlich.
Das obige Programm wird bevorzugt, wenn ein shebang-Befehl in einer virtuellen Umgebung wie pyenv geschrieben wird. Früher als Pythonbrew bekannt, ist pyenv ein einfaches Python-Versionsverwaltungstool, das dabei hilft, die Python-Version zu verwalten, die neuesten Python-Versionen zu installieren und eine virtuelle Python-Umgebung zu erstellen.
In den meisten Fällen wird ein Python-Interpreter unter /usr/bin/python oder /bin/python installiert. In diesen beiden Fällen schlägt die Anweisung shebang fehl, wenn der folgende Befehl verwendet wird:
#!/usr/local/bin/python
Zusammenfassend lässt sich sagen, dass der Befehl shebang nur ein Zeichen dafür ist, dass das folgende Skript ausführbar ist. Daher wird das Ergebnis eines Python-Skripts niemals beeinflusst, wenn der Befehl shebang ausgeführt wird, unabhängig davon, ob es erwähnt wird oder nicht.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn