Python プロジェクトでの相対パスを使用したファイルの読み取り
この問題は、特に次のような場合の Python プロジェクトでの相対パスの使用に関係します。プロジェクト構造内のファイルにアクセスしようとしています。コード内で相対パスを使用してサブディレクトリからファイルを読み取ろうとすると、エラーが発生することがあります。
この問題は、相対パスが現在の作業ディレクトリに依存するために発生します。これは、プロジェクト ディレクトリからメイン スクリプト (main.py) を実行すると、module.py 内の相対パス (../data/test.csv) が正しく解決されないことを意味します。意図したデータ サブディレクトリではなく、プロジェクト ディレクトリの外部の場所を参照します。
これを解決するには、現在の作業ディレクトリからの相対パスではない絶対パスを使用することをお勧めします。 1 つのアプローチは、現在実行中のスクリプトへの絶対パスを提供する file 特殊属性を利用することです。ここから、Pathlib (Python 3.4 の場合) または os.path (古い Python バージョンの場合) を使用して、目的のファイルへの絶対パスを構築できます。
Pathlib の使用 (Python 3.4 ):
<code class="python">from pathlib import Path path = Path(__file__).parent / "../data/test.csv"</code>
を使用するos.path:
<code class="python">import os.path my_path = os.path.abspath(os.path.dirname(__file__)) path = os.path.join(my_path, "../data/test.csv")</code>
絶対パスを使用すると、現在の作業ディレクトリに関係なく、常にファイルに正しくアクセスできます。
以上がPythonで相対パスを使用してサブディレクトリからファイルを読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。