【PR】を含みます。

プログラミング

【Python】Windowsでパスを指定する方法とエラー回避のコツ

Python Windowsでパスを指定する方法とエラー回避のコツ

PythonでWindowsのファイルパスを指定する際に発生しやすいエラーの原因と、エラーを防ぐ3つの方法(raw文字列・バックスラッシュ2重・スラッシュ利用)を初心者にもわかりやすく解説します。

os.pathやpathlibの活用例、Q&A、コピペ用サンプルも掲載しています。

なぜWindowsパスでエラーが起きるのか?

Windowsのパスは「C:\Users\username\Desktop\data.csv」のようにバックスラッシュ(\)を使います。

※環境によっては、「\(バックスラッシュ)」が「¥(円記号)」で表示されますが意味は同じです。

Pythonでは「\」はエスケープシーケンス(改行\nやタブ\tなど)として使用されます。

そのため'C:\new\test.txt'のように書くと、\n\tが特殊な意味になり、意図しない動作やエラーになります。

# 例:エラーになるパターン
fp = 'C:\new\test.txt'

with open(fp) as f:
    print(f.read())
# → FileNotFoundErrorやSyntaxWarningが出ることも

エラーを防ぐ3つのパス指定方法

raw文字列(r'...')を使う

fp = r'C:\new\test.txt'

先頭にrを付けることで、バックスラッシュがそのまま使えます。

バックスラッシュを2回重ねる

fp = 'C:\\new\\test.txt'

1つの「\」を「\\」と2回書くことでエスケープを回避します。

スラッシュ(/)を使う

fp = 'C:/new/test.txt'

Windowsでもスラッシュ(/)でパス指定が可能です。

おすすめ:os.pathやpathlibの活用

パスの結合や操作には、標準ライブラリのos.pathpathlibを使うと安全で便利です。

import os
fp = os.path.join('C:\\Users', 'username', 'Desktop', 'data.csv')

# または
from pathlib import Path
fp = Path('C:/Users/username/Desktop/data.csv')
print(fp)

よくある質問(Q&A)

Q. 円記号(¥)とバックスラッシュ(\)の違いは?

A. 日本語環境では「\」が「¥」に見えることがありますが、どちらも同じ文字です。

Q. どの方法が一番おすすめ?

A. pathlibを使う方法が、可読性・安全性ともにおすすめです。

コピペで使えるサンプル

【実装コード】raw文字列

Copyをクリックするとコピーできます。

Python
Copy
fp = r'C:\Users\username\Desktop\data.csv'

【実装コード】バックスラッシュ2重

Copyをクリックするとコピーできます。

Python
Copy
fp = 'C:\\Users\\username\\Desktop\\data.csv'

【実装コード】スラッシュ

Copyをクリックするとコピーできます。

Python
Copy
fp = 'C:/Users/username/Desktop/data.csv'

【実装コード】 pathlib(推奨)

Copyをクリックするとコピーできます。

Python
Copy
from pathlib import Path
fp = Path('C:/Users/username/Desktop/data.csv')

-プログラミング
-,