ホームページ  >  記事  >  バックエンド開発  >  Pythonで相対パスを使用してサブディレクトリからファイルを読み取る方法は?

Pythonで相対パスを使用してサブディレクトリからファイルを読み取る方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 07:31:02737ブラウズ

How to Read a File from a Subdirectory Using a Relative Path in Python?

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 サイトの他の関連記事を参照してください。

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