Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie den aktuellen Dateipfad in Python

So erhalten Sie den aktuellen Dateipfad in Python

尚
Original
2019-07-02 17:23:0113385Durchsuche

So erhalten Sie den aktuellen Dateipfad in Python

Python-Methode zum Abrufen des aktuellen Pfads:

import os,sys

Verwenden Sie sys.path[0], sys.argv[0] , os.getcwd(), os.path.abspath(__file__), os.path.realpath(__file__)

sys.path ist eine Liste von Suchpfaden, die Python zum Suchen von Modulen verwendet, sys.path [0] und sys.argv[0] sind dasselbe, da Python automatisch sys.argv[0] zu sys.path hinzufügt.

Wenn Sie python getpathgetpath.py im Verzeichnis C:test ausführen, gibt os.getcwd() „C:test“ und sys.path[0] „C:testgetpath“ aus.

Wenn Sie das py2exe-Modul verwenden, um ein Python-Skript in eine ausführbare Datei zu kompilieren, ändert sich auch die Ausgabe von sys.path[0]:
Wenn Sie die abhängige Bibliothek in eine ZIP-Datei packen Standardmäßig gibt sys.path[0] „C:testgetpathlibarary.zip“ aus;
Wenn der Parameter zipfile=None in setup.py angegeben ist, wird die abhängige Bibliothek in die exe-Datei gepackt, dann sys. path[0] gibt „C:testgetpathgetpath.exe“ aus.

#!/bin/env python
#-*- encoding=utf8 -*-

import os,sys

if __name__=="__main__":

    print "__file__=%s" % __file__

    print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)

    print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))
  
    print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0]  

    print "os.path.abspath(__file__)=%s" % os.path.abspath(__file__)

    print "os.getcwd()=%s" % os.getcwd()

    print "sys.path[0]=%s" % sys.path[0]

    print "sys.argv[0]=%s" % sys.argv[0]

输出结果:
D:\>python ./python_test/test_path.py
__file__=./python_test/test_path.py
os.path.realpath(__file__)=D:\python_test\test_path.py
os.path.dirname(os.path.realpath(__file__))=D:\python_test
os.path.split(os.path.realpath(__file__))=D:\python_test
os.path.abspath(__file__)=D:\python_test\test_path.py
os.getcwd()=D:\
sys.path[0]=D:\python_test
sys.argv[0]=./python_test/test_path.py

os.getcwd() „D:“, das Startausführungsverzeichnis wird übernommen.
sys.path[0] oder sys.argv[0] „D:python_test“, das Startausführungsverzeichnis wird übernommen genommen Das Verzeichnis, in dem sich das ursprünglich ausgeführte Skript befindet
os.path.split(os.path.realpath(__file__))[0] „D:python_test“, das Verzeichnis, in dem sich die Datei test_path.py befindet, in der sich __file__ befindet vergeben

Erhalten Sie den aktuellen Pfad korrekt:

    __file__是当前执行的文件
 
    # 获取当前文件__file__的路径
    print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)
    # 获取当前文件__file__的所在目录
    print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))       # 获取当前文件__file__的所在目录
    print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0] 

Weitere technische Artikel zum Thema Python finden Sie in der Spalte Python-Tutorial, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonSo erhalten Sie den aktuellen Dateipfad in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn