重複の可能性:
Pythonモジュールパス
Python、スクリプトのパスを取得しています
Pythonファイルがあり、このファイルが実行されたときにパスを解析したいと思います。myPython.pyを次のように実行すると:
python ~/Documents/Project/myPython.py
myPython.pyファイルのパス「〜/ Documents /Project/」を知りたいのですが。
重複の可能性:
Pythonモジュールパス
Python、スクリプトのパスを取得しています
Pythonファイルがあり、このファイルが実行されたときにパスを解析したいと思います。myPython.pyを次のように実行すると:
python ~/Documents/Project/myPython.py
myPython.pyファイルのパス「〜/ Documents /Project/」を知りたいのですが。
sys.argv[0]
Pythonによって実行されるスクリプトのパスです。を使用os.path.dirname()
して、そこからディレクトリ名だけを取得できます。
import sys, os
print os.dirname(sys.argv[0])
コマンドラインで入力されたフルパスであるかどうかは、OSに依存します。MacOSXとLinuxの両方にパスが含まれています。
ただし、パスはPythonがどのように呼び出したかによって異なる場合があります。別の方法はを使用することです。を使用し__file__
てパスを絶対にすることができ、すべてのバリエーションをカバーできます。os.path.abspath()
os.path.expanduser()
print os.path.dirname(os.path.abspath(os.path.expanduser(__file__)))
この例は役立つはずです:
test.py:
import os
print 'Script directory: ' + os.path.realpath(os.path.dirname(__file__))
print 'Working directory: ' + os.getcwd()
ターミナルでの実行:
$ cd〜 $ python〜/ Desktop / test.py スクリプトディレクトリ:/ Users / tomas / Desktop 作業ディレクトリ:/ Users / tomas
ちょうどあなたはpyファイルに2つのステートメントを書く必要があります:
import sys
print sys.argv[0]