Pythonで現在のディレクトリと同じディレクトリにあるファイルを開く方法について説明します。
osモジュールを使用する方法
Pythonのosモジュールを使用して、現在のスクリプトと同じディレクトリにあるファイルを開くことができます。以下にその方法を示します。
import os
# スクリプトのあるディレクトリを取得
script_dir = os.path.dirname(__file__)
# ファイルの相対パス
rel_path = "data.txt"
# ファイルの絶対パスを取得
abs_file_path = os.path.join(script_dir, rel_path)
# ファイルを開く
with open(abs_file_path, 'r') as file:
print(file.read())
このコードでは、os.path.dirname(__file__)
を使用してスクリプトのあるディレクトリを取得し、os.path.join
を使用してそのディレクトリとファイルの相対パスを結合しています。
pathlibモジュールを使用する方法
Python 3.4以降では、pathlibモジュールを使用して現在のスクリプトと同じディレクトリにあるファイルを開くことができます。以下にその方法を示します。
from pathlib import Path
# ファイルのパスを取得
p = Path(__file__).with_name('data.txt')
# ファイルを開く
with p.open('r') as file:
print(file.read())
このコードでは、Path(__file__).with_name('data.txt')
を使用してファイルのパスを取得し、そのパスを使用してファイルを開いています。
以上、Pythonで現在のディレクトリと同じディレクトリにあるファイルを開く方法について説明しました。これらの方法を使えば、スクリプトの位置に関係なくファイルを確実に開くことができます。