Pythonとos.path.joinの概要
Pythonはプログラミング言語の1つで、os.path.joinはその中のモジュールの1つです。os.path.joinは、ファイルパスを連結するための関数であり、WindowsやLinux、macOSなどのOSに対応しています。os.path.joinを使うことで、OSに依存しないプログラムを作ることができます。
Windowsでのos.path.joinの使い方
Windowsでos.path.joinを使う場合、区切り文字にバックスラッシュ(\)を使います。
import os path1 = 'C:\\Users\\username\\Desktop' path2 = 'file.txt' result = os.path.join(path1, path2) print(result)
上記のプログラムは、C:\Users\username\Desktop\file.txtというファイルパスをresultに格納しています。
os.path.joinでのバックスラッシュの扱い
os.path.joinでは、バックスラッシュをエスケープする必要があります。つまり、バックスラッシュを2つ重ねて書く必要があります。
import os path1 = 'C:\\Users\\username\\Desktop' path2 = 'file.txt' result = os.path.join(path1, path2) print(result)
上記のプログラムは、C:\Users\username\Desktop\file.txtというファイルパスをresultに格納しています。
os.path.joinでのワイルドカードの使い方
os.path.joinでは、ワイルドカードを使うことはできません。ワイルドカードを使いたい場合は、globモジュールを使います。
import glob
result = glob.glob('C:\\Users\\username\\Desktop\\*.txt')
print(result)
上記のプログラムは、C:\Users\username\Desktopフォルダ内のtxtファイルのパスをリストでresultに格納しています。
os.path.joinの使い方でよくある間違いと注意点
- バックスラッシュをエスケープする必要がある。
- os.path.joinでは、ワイルドカードを使うことはできない。
- Windowsでは、区切り文字にバックスラッシュを使う。
実用的なos.path.joinの使い方例
os.path.joinを使って、ファイルパスを連結するプログラムの例を紹介します。
import os
folder_path = 'C:\\Users\\username\\Desktop\\example_folder'
file_name = 'example.txt'
if not os.path.exists(folder_path):
os.makedirs(folder_path)
file_path = os.path.join(folder_path, file_name)
with open(file_path, 'w') as f:
f.write('Hello, World!')
上記のプログラムは、Desktopフォルダ内にexample_folderというフォルダを作成し、その中にexample.txtというファイルを作成して、”Hello, World!”という文字列を書き込んでいます。
まとめ
Pythonのos.path.joinは、ファイルパスを連結するための便利な関数です。Windowsではバックスラッシュを区切り文字として使います。ワイルドカードを使いたい場合は、globモジュールを使います。バックスラッシュをエスケープする必要があることに注意しましょう。

![[Python]Pandasで特定の条件を指定してデータを操作する方法](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/10/1-8.jpg)

![[Python]環境変数を扱う !os.environとos.environ.getとset](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/12/1-1394.jpg)
![[Python]SeabornとPandasで時系列データを見やすく可視化!](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/10/1-451.jpg)
