現在のファイルのディレクトリのフルパスを取得するにはどうすればよいですか? [重複] 質問する

現在のファイルのディレクトリのフルパスを取得するにはどうすればよいですか? [重複] 質問する

現在のファイルのディレクトリ パスを取得するにはどうすればよいですか? 次の方法を試しました:

>>> os.path.abspath(__file__)
'C:\\python27\\test.py'

でも私はしたい:

'C:\\python27\\'

ベストアンサー1

特殊変数__file__現在のファイルへのパスが含まれています。そこからディレクトリを取得するには、次のいずれかを使用します。pathlibまたはos.pathモジュール。

Python3 について

実行されるスクリプトのディレクトリ:

import pathlib
pathlib.Path(__file__).parent.resolve()

現在の作業ディレクトリの場合:

import pathlib
pathlib.Path().resolve()

Python 2 および 3

実行されるスクリプトのディレクトリ:

import os
os.path.dirname(os.path.abspath(__file__))

現在の作業ディレクトリを意味する場合:

import os
os.path.abspath(os.getcwd())

before と after にはfile1 つのアンダースコアではなく 2 つのアンダースコアがあることに注意してください。

また、対話的に実行している場合や、ファイル以外のもの (データベースやオンライン リソースなど) からコードをロードしている場合は、__file__「現在のファイル」という概念がないため、設定されない可能性があることに注意してください。上記の回答は、ファイル内にある Python スクリプトを実行する最も一般的なシナリオを想定しています。

参考文献

  1. パスライブラリPython ドキュメント内。
  2. os.path - Python 2.7os.path - Python 3
  3. os.getcwd - Python 2.7os.getcwd - Python 3
  4. __file__ 変数は何を意味し、何をしますか?

おすすめ記事