ホームページ > バックエンド開発 > Python チュートリアル > Pythonで現在のファイルパスを取得する方法

Pythonで現在のファイルパスを取得する方法

リリース: 2019-07-06 09:05:21
オリジナル
13531 人が閲覧しました

Pythonで現在のファイルパスを取得する方法

現在のパスを取得する Python メソッド:

import os,sys

Use sys.path[0], sys.argv[0] 、os.getcwd()、os.path.abspath(__file__)、os.path.realpath(__file__)

sys.path は、Python がモジュール sys.path を見つけるために使用する検索パスのリストです。 [0] と sys.argv[0] は同じものです。Python は sys.argv[0] を sys.path に自動的に追加します。

C:\test ディレクトリで python getpath\getpath.py を実行すると、os.getcwd() は「C:\test」を出力し、sys.path[0] は「C:\」を出力します。テスト\getpath」。

py2exe モジュールを使用して Python スクリプトを実行可能ファイルにコンパイルすると、sys.path[0] の出力も変更されます。
依存ライブラリが zip ファイルとしてパッケージ化されている場合デフォルトの方法では、sys.path[0] は "C:\test\getpath\libarary.zip" を出力します;
zipfile=None パラメーターが setup.py で指定されている場合、依存ライブラリは exe にパッケージ化されますfile、次に sys.path[0] は「C:\test\getpath\getpath.exe」を出力します。

#!/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:\"、開始実行ディレクトリが取得されます
sys.path[0] または sys.argv[0] "D:\python_test"、取得されます最初に実行されるスクリプトが配置されているディレクトリ
os.path.split(os.path.realpath(__file__))[0] "D:\python_test"、ファイル test_path.py の場所を取得します。ここで、__file__ はディレクトリ

現在のパスを正しく取得します:

    __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] 
ログイン後にコピー

Python 関連の技術記事の詳細については、Python チュートリアル 列にアクセスして学習してください。

以上がPythonで現在のファイルパスを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート