実行しているPythonスクリプトのパスを取得する方法を教えてください。私はdirname(sys.argv[0])
をやっていました、しかし、Macの上で私はファイル名だけを得ます - 私がWindowsのようにフルパスではありません。
私のアプリケーションがどこから起動されたとしても、私は自分のスクリプトファイルに関連するファイルを開きたいのです。
os.path.realpath(__file__)
はあなたに現在のファイルのパスを与え、パス内のシンボリックリンクを解決します。これは私のMacではうまくいきます。
Pythonの7.2に飛び込みなさい: 道を見つけること 。
import sys, os
print('sys.argv[0] =', sys.argv[0])
pathname = os.path.dirname(sys.argv[0])
print('path =', pathname)
print('full path =', os.path.abspath(pathname))
import os
print os.path.abspath(__file__)
Py2exeを使ってあなたのスクリプトをコンパイルすることを計画しているなら、これのために認められた解決策はうまくいきません。あなたがそうすることを計画しているなら、これは機能的に同等なものです:
os.path.dirname(sys.argv[0])
Py2exeは__file__
変数を提供しません。参考: http://www.py2exe.org/index.cgi/Py2exeEnvironment