Python | 「ファイルパス × raw文字列」実践編

Python
スポンサーリンク

ここでは 「ファイルパス × raw文字列」実践編 として、WindowsとmacOS(Linuxも同じ書き方)での違いを、初心者向けに分かりやすくまとめます。


1. Windowsのファイルパス

Windowsではパスに バックスラッシュ \ を使います。
例:

C:\Users\Python\test.txt

でもPythonの通常文字列では \ が特別扱いされるので、次のように書かないといけません。

# 通常の文字列
path = "C:\\Users\\Python\\test.txt"
print(path)
# 出力: C:\Users\Python\test.txt
Python

👉 \\ と二重に書くのは面倒ですよね。

そこで raw文字列 を使うとシンプルになります。

# raw文字列
path = r"C:\Users\Python\test.txt"
print(path)
# 出力: C:\Users\Python\test.txt
Python

2. macOS / Linux のファイルパス

macOSやLinuxでは スラッシュ / を使います。
例:

/Users/python/test.txt

こちらは \ を使わないので、通常の文字列でそのまま書けます。

path = "/Users/python/test.txt"
print(path)
# 出力: /Users/python/test.txt
Python

👉 macOS/Linuxでは raw文字列を使う必要はほとんどありません。


3. 実践例:ファイルを開く

Windows

# Windows
path = r"C:\Users\Python\test.txt"
with open(path, "r", encoding="utf-8") as f:
    print(f.read())
Python

macOS / Linux

# macOS / Linux
path = "/Users/python/test.txt"
with open(path, "r", encoding="utf-8") as f:
    print(f.read())
Python

4. 注意点

  • raw文字列は 最後に \ を書けない path = r"C:\Users\Python\" # ❌ エラー 👉 解決策: 末尾に \\ を足す path = r"C:\Users\Python" + "\\"
  • OSごとにパスの書き方が違うので、共通化したいときは os.pathpathlib を使うのがおすすめ

5. さらに便利な書き方(共通化)

Pythonには pathlib という便利なライブラリがあり、OSに合わせて自動でパスを扱ってくれます。

from pathlib import Path

# WindowsでもmacOS/LinuxでもOK
path = Path.home() / "test.txt"
print(path)
Python

👉 Path.home() はユーザーのホームディレクトリを返すので、環境に依存せずに書けます。


まとめ

  • Windows\ を使うので raw文字列が便利
  • macOS/Linux/ を使うので普通の文字列でOK
  • 共通化したいなら pathlib を使うのがベスト

実践的に学ぶなら、次は「同じコードでWindowsとmacOS両方に対応する」方法を pathlib で練習すると良いですよ。

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました