Es gibt verschiedene Möglichkeiten, Python-Programme zu starten, die sich im Wert von "sys.path", dem Modul-Suchpfad, unterscheiden.
Version v3.8.2 anzeigen
Einfach ausgedrückt
-m
angegeben wird, wird das aktuelle Verzeichnis zum ersten Element.Die Zusammenfassung ist wie folgt. Der Autor wusste nicht, dass er Verzeichnisse (Pakete) und ZIP-Dateien starten kann.
python Argumente nach |
Was wird gemacht? | Sein Modulname(__name__ ) |
sys.path Erstes Element von |
---|---|---|---|
<.py Datei> |
Diese Datei | __main__ |
<Das Verzeichnis, in dem sich die Datei befindet> |
<Verzeichnis> |
<Verzeichnis>/__main__.py |
__main__ |
<Verzeichnis> |
<.zip-Datei> |
.zip-Datei Innerhalb__main__.py |
__main__ |
<.zip-Datei> |
-m <Modul> |
<Modul>.py |
__main__ |
Aktuelles Verzeichnis(Leerer String) |
-m <Paket> |
<Paket>/__main__.py |
__main__ |
Aktuelles Verzeichnis |
-c <Befehl> |
__main__ |
Aktuelles Verzeichnis | |
- |
Skript als Standardeingabe übergeben | __main__ |
Aktuelles Verzeichnis |
-I
Wenn Sie in den Startoptionen -I
angeben, haben Sie -E -s
angegeben und der Interpreter startet im ** isolierten Modus **.
Zu diesem Zeitpunkt wird das obige ** erste Element nicht zu sys.path
hinzugefügt (aufgrund des Einflusses von -s
). ** ** **
Grundsätzlich können Sie also (absolut) nur Module importieren, die mit pip install
installiert wurden.
Beachten Sie, dass auch das Modul neben dem Ausführungsskript nicht importiert werden kann [^ 1].
[^ 1]: Das Modul neben dem Ausführungsskript kann nicht relativ dazu importiert werden. Dies liegt daran, dass ein relativer Import aus dem Modul "main" nicht möglich ist.
Recommended Posts