ホームページ >バックエンド開発 >Python チュートリアル >Python スクリプトの現在のディレクトリを確実に特定するにはどうすればよいですか?

Python スクリプトの現在のディレクトリを確実に特定するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 04:30:14193ブラウズ

How Can I Reliably Determine My Python Script's Current Directory?

Python での現在のスクリプト ディレクトリの決定

Python スクリプトを使用する場合、現在のディレクトリを決定する必要があります。ただし、スクリプトの呼び出し方法はさまざまであるため、効果的な解決策を見つけるのは難しい場合があります。

次のシナリオを検討してください。

  • スクリプトを直接実行する: ./myfile .py
  • Python コマンドの使用: python myfile.py
  • 別のスクリプトからの呼び出し: execfile('myfile.py')

一般的に使用される os.path.dirname(os.path.abspath(__file__) のアプローチ) )、特にスクリプトが exec() を使用して別のスクリプトから呼び出された場合、常に機能するとは限りません。

ベストアプローチ

完璧ではありませんが、os.path.dirname(os.path.abspath(__file__)) が最も信頼できるアプローチであることに変わりはありません。ほとんどの場合、現在のスクリプト ディレクトリが提供されます。

CWD 使用の制限

現在の作業ディレクトリ (CWD) に依存するソリューションでは、失敗。これは、CWD がスクリプトの呼び出し方法に応じて変化したり、実行中に変更される可能性があるためです。

Exec/Execfile の使用法の代替

を使用する必要がある場合exec/execfile では、スクリプトに渡されるグローバルで __file__ を設定することを検討してください。これにより、スクリプトが独自のファイル名を識別できるようになります。

追加の考慮事項

exec/execfile を使用してスクリプトを実行することは一般的ではありません。代わりに、スクリプトの読み込みに Python モジュール インフラストラクチャを使用する方法が推奨されます。 exec/execfile を使用する必要がある場合は、__file__ の設定を慎重に処理して、スクリプトがその場所を正しく決定できるようにすることが重要です。

以上がPython スクリプトの現在のディレクトリを確実に特定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。