1

重複の可能性:
Pythonモジュールパス
Python、スクリプトのパスを取得しています

Pythonファイルがあり、このファイルが実行されたときにパスを解析したいと思います。myPython.pyを次のように実行すると:

python ~/Documents/Project/myPython.py

myPython.pyファイルのパス「〜/ Documents /Project/」を知りたいのですが。

4

3 に答える 3

3

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__)))
于 2012-12-03T12:12:05.960 に答える
0

この例は役立つはずです:

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
于 2012-12-03T12:21:45.827 に答える
0

ちょうどあなたはpyファイルに2つのステートメントを書く必要があります:

          import sys
          print sys.argv[0] 
于 2012-12-03T12:27:28.397 に答える