662 Stimmen

Name des aktuellen Skripts in Python abfragen

Ich versuche, den Namen des Python-Skripts abzurufen, das gerade ausgeführt wird.

Ich habe ein Skript namens foo.py und ich würde gerne so etwas tun, um den Skriptnamen zu erhalten:

print(Scriptname)

39voto

Emil Melnikov Punkte 436

Für moderne Python-Versionen (3.4+), Path(__file__).name sollte idiomatischer sein. Auch, Path(__file__).stem gibt Ihnen den Skriptnamen ohne das .py Erweiterung.

14voto

elad silver Punkte 8183

Ab Python 3.5 können Sie einfach tun:

from pathlib import Path
Path(__file__).stem

Sehen Sie hier mehr: https://docs.python.org/3.5/library/pathlib.html#pathlib.PurePath.stem

Ich habe zum Beispiel eine Datei in meinem Benutzerverzeichnis mit dem Namen test.py mit dem hier drin:

from pathlib import Path

print(Path(__file__).stem)
print(__file__)

die diese Ausgaben ausführen:

>>> python3.6 test.py
test
test.py

12voto

Gajendra D Ambi Punkte 3270

Wenn Sie einen ungewöhnlichen Import durchführen (z. B. eine Optionsdatei), versuchen Sie es:

import inspect
print (inspect.getfile(inspect.currentframe()))

Beachten Sie, dass dies den absoluten Pfad zu der Datei zurückgibt.

11voto

ceth Punkte 42172

Versuchen Sie dies:

print __file__

8voto

Krishn Singh Punkte 51

Können wir dies versuchen, um den aktuellen Skriptnamen ohne Erweiterung zu erhalten.

import os

script_name = os.path.splitext(os.path.basename(__file__))[0]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X