Python

【Python】パスの結合と分割

この記事では、Python でパスを結合したり分割したりして整形する方法を解説します。

Linkパスの使い方

パスの結合

パスを結合するには os.pathモジュール の join()関数 を使います。環境に合ったセパレータを使ってくれるので str.join() を使うよりも安全です。

import os

os.path.join(path, *paths)

サンプル

試しに適当にディレクトリ名やファイル名を結合してパスを生成してみます。

import os

dirname = 'dir'
filename = 'test.py'

# ディレクトリ名とファイル名を結合し、パスを生成
path = os.path.join(dirname, filename)
print(path)

# いくつでも結合できる
subdirname = 'subdir'
path = os.path.join(dirname, subdirname, filename)
print(path)

# もちろんパスも指定できる
current = os.getcwd()
path = os.path.join(current, dirname, subdirname, filename)
print(path)

実行結果

dir/test.py
dir/subdir/test.py
/Users/user/Desktop/Python/dir/subdir/test.py

パスの分割

パスを分割するには os.pathモジュール の split()関数、または splitext()関数 を使います。split()関数 は、パスの末尾を分割して splitext()関数 は拡張子を分割します。

import os

os.path.split(path)
os.path.splitext(path)

サンプル

試しにパスを分割してみます。

import os

path = '/Users/user/Desktop/Python/dir/subdir/test.py'

split_path = os.path.split(path)
print(split_path)
# ('/Users/user/Desktop/Python/dir/subdir', 'test.py')

split_path = os.path.splitext(path)
print(split_path)
# ('/Users/user/Desktop/Python/dir/subdir/test', '.py')


path = '/Users/user/Desktop/Python/dir/subdir'

split_path = os.path.split(path)
print(split_path)
# ('/Users/user/Desktop/Python/dir', 'subdir')

split_path = os.path.splitext(path)
print(split_path)
# ('/Users/user/Desktop/Python/dir/subdir', '')
『DMM WEBCAMP COMMIT』