パス (path)
パス (path) とはファイルあるいはフォルダ (ディレクトリ) の位置を示す情報です。パスの記述形式は OS ごとに異なります。たとえば Windows の場合、ファイルやフォルダをバックスラッシュ (\) で区切って階層構造を表記します。
Mac や Linux では
/home/desktop/mydata.csv
のように、階層をスラッシュ (/) で区切ります。
絶対パス(absolute path)
階層構造の頂点 (ルートディレクトリ) を起点に目的のファイルやフォルダまでの経路情報をすべて記述したパスを絶対パス (absolute path) またはフルパス (full path) とよびます。
Windows であれば、ドライブ名から始まる
C:\Users\blogcat\Desktop\mydata.csv
のような記述が絶対パスです。Mac や Linux ではルートディレクトリをバックスラッシュで表し、
/home/desktop/mydata.csv
のように記述すると絶対パスとなります。
相対パス (relative path)
作業フォルダ (カレントディレクトリ) を起点に目的のファイルやフォルダまでの経路情報を記載したパスを相対パス(relative path) といいます。たとえば、Windows で作業フォルダの下に blogcat というフォルダがあって、その下に mycode.ipynb というファイルが存在する場合は
blogcat\mycode.ipynb
のように指定します。Mac や Linux であれば現在の位置を表すドット (.) を先頭に添えて
.blogcat/mycode.ipynb
と記述します。
Windowsのパス
Windows ではバックスラッシュ (\) でパスを区切るので、Python で Windows のパスを文字列として扱う場合は、raw 文字 r などを使ってバックスラッシュ (\) をエスケープしておきます。
file_path = r"C:\Users\blogcat\mycode.ipynb"
後述する os.path.join() を使えば、OS に合わせたパスを組み立てることができます。
独学プログラマー Python言語の基本から仕事のやり方まで 中古価格 | ![]() |

パスの取得や操作に用いる関数
os.getcwd()
os.getcwd() は作業フォルダ (カレントディレクトリ) の絶対パスを取得します。
# PYTHON_PATH_01
import os
# 作業フォルダを取得
folder_name = os.getcwd()
print(folder_name)
C:\Users\blogcat
os.path.abspath()
os.path.abspath() に文字列を渡すと、作業フォルダの絶対パスに文字列を連結したパスを生成します。
# PYTHON_PATH_02
from os import path
# 作業フォルダの下に"mybook"を連結したパスを生成
p = path.abspath("mybook")
print(p)
C:\Users\blogcat\mybook
os.path.join()
os.path.join() に複数の文字列を渡すと、実行中の OS の区切り文字を使ってパスを組み立てます。
# PYTHON_PATH_03
from os import path
# 使用中のOSに合わせてパスを組み立てる
p = path.join("C:", "Users", "blogcat", "mycode.ipynb")
print(p)
C:Users\blogcat\mycode.ipynb
ファイル名やフォルダ名のリストを作って os.path.join() に渡すこともできます。その場合は引数の先頭にアスタリスク (*) を付けます。
# PYTHON_PATH_04
name_list = ["C:", "Users", "blogcat", "mycode.ipynb"]
# 使用中のOSに合わせてパスを組み立てる
p = path.join(*name_list)
print(p)
C:Users\blogcat\mycode.ipynb
コメントを書く