11
現在のスクリプトディレクトリを適切に判断するにはどうすればよいですか?
Pythonで現在のスクリプトディレクトリを特定するための最良の方法を教えてください。 私は、Pythonコードを呼び出す方法が多いため、適切な解決策を見つけるのが難しいことを発見しました。 ここにいくつかの問題があります: __file__でスクリプトを実行した場合、は定義されませんexec。execfile __module__ モジュールでのみ定義されています ユースケース: ./myfile.py python myfile.py ./somedir/myfile.py python somedir/myfile.py execfile('myfile.py') (別のスクリプトから、別のディレクトリに配置でき、別の現在のディレクトリを持つことができます。 私は完璧な解決策はないことを知っていますが、ほとんどの場合を解決する最善のアプローチを探しています。 最も使用されるアプローチはですos.path.dirname(os.path.abspath(__file__))が、で別のスクリプトからスクリプトを実行する場合、これは実際には機能しませんexec()。 警告 現在のディレクトリを使用するソリューションはすべて失敗します。これは、スクリプトの呼び出し方法によって異なる場合や、実行中のスクリプト内で変更される場合があります。
260
python
pythonpath
dirname