pathlibの使い方
python3.4以降で追加された”pathlib”というモジュールを使って、ファイル・ディレクトリ(より正確にはpath)を操作する方法
以下のディレクトリツリーで検証を行う
workspace -- test_pathlib.py
| -- tmp -- doc -- doc1.txt
| | -- doc2.txt
| | -- メモ.txt
|
| -- img -- 000001.jpg
| -- 000002.jpg
| -- 000003.jpg
| -- memo.txt
”pathlib”以外は何もいらない
from pathlib import Path
"."で表現される
current = Path()
print(current)
”/” で繋げるだけ
dir_tmp = current / 'tmp'
dir_doc = current / 'tmp' /'doc'
dir_img = current / 'tmp' /'img'
print(dir_tmp)
print(dir_doc)
print(dir_img)
True or False で有無が確認できる
check_path1 = current / 'tmp' / 'lib'
check_path2 = current / 'tmp' / 'doc' / 'メモ.txt'
print(check_path1.exists())
print(check_path2.exists())
get_name1 = check_path2.name
print(get_name1)
get_name2 = check_path2.stem
print(get_name2)
get_extension = check_path2.suffix
print(get_extension)
dir_tmp = current / 'tmp'
dir_doc = current / 'tmp' /'doc'
dir_img = current / 'tmp' /'img'
print('======= dir_tmp ======')
for path_tmp in dir_tmp.iterdir():
print(path_tmp)
print('======= dir_doc ======')
for path_doc in dir_doc.iterdir():
print(path_doc)
print('======= dir_img ======')
for path_img in dir_img.iterdir():
print(path_img)
jpgファイルのみリスト化
list_img = list(dir_img.glob('**/*.jpg'))
print(list_img)
for get_path in list_img:
print(get_path)
for get_file in list_img:
print(get_file.name)
for get_file in list_img:
print(get_file.stem)
”pathlib”の使い方というより、pythonの文字列操作
リストの拡張子が変わっただけで、実際にファイルの拡張子が変わるわけではない
for get_file in list_img:
png_file = get_file.stem + '.png'
print(png_file)
今回は、path操作の中でも個人的によく使う 指定ファイルのロード に関する操作についてまとめた。
ファイルのリネーム/中身表示/中身の書き換え…なども出来るらしいが、本稿では触れない。
(必要に迫られたら、追記予定)