ホームページ > バックエンド開発 > Python チュートリアル > ファイルを開くための Python スクリプトのディレクトリを確実に見つけるにはどうすればよいですか?

ファイルを開くための Python スクリプトのディレクトリを確実に見つけるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-29 00:44:12
オリジナル
730 人が閲覧しました

How to Reliably Find a Python Script's Directory for File Opening?

信頼性の高いファイルを開くためのスクリプトのディレクトリの検索

Python スクリプトが異なる環境から呼び出される場合、常に同じ作業ディレクトリを使用するとは限りません。これにより、スクリプトと同じディレクトリにあるファイルを開こうとすると問題が発生する可能性があります。

ファイルを確実に開くには、スクリプトの実際のディレクトリを正確に判断することが重要です。さまざまなアプローチが使用されていますが、特定のメソッドには制限がある場合があります:

  • os.getcwd() および os.path.abspath(''): これらは現在の作業ディレクトリを返します。必ずしもスクリプトのディレクトリである必要はありません。
  • os.path.dirname(sys.argv[0]) およびos.path.dirname(__file__): これらは、スクリプトの呼び出しに使用されるパスを提供します。スクリプトが現在のディレクトリにある場合、相対パスまたは欠落している可能性があります。 file も一部の環境では使用できません。
  • sys.path[0] および os.path.abspath(os.path.dirname(sys.argv[0])) : これらはスクリプトのディレクトリを返すようですが、さまざまなシナリオにわたる信頼性は完全ではありません

ただし、モジュールのインポートも考慮できる、より信頼性の高い解決策は次のとおりです。

__location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))
ログイン後にコピー

このメソッドは、現在の作業ディレクトリを先頭に追加しますが、スクリプト パスが次の場合は削除します。絶対。また、シンボリック リンクを解決して精度を高めます。

このメソッドを使用してファイルを開くには:

f = open(os.path.join(__location__, 'file.ext'))
ログイン後にコピー

__location__ を利用することで、直接呼び出すかインポートするかに関係なく、スクリプトのディレクトリからファイルを確実に開くことができます。モジュールで。このアプローチにより、さまざまな環境間で一貫性が確保され、ファイルを開く際の問題を防ぐことができます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート