pathlib, f-stringを使ってスマートにパスを生成[Python]
Python3.6から使えるようになったf-stringを使って,スマートにパスを生成しよう.
かっこ悪いパスの生成
from datetime import datetime
now = datetime.now().strftime("%Y%m%d%H%M%S")
dst = "/root/output/" + now + "_result/hoge.txt"
print(dst)
>> /root/output/20190910091617_result/hoge.txt
変数nowの周囲に+や余計な括弧"が混入しているため,生成されるパス名が把握しづらい.
スマートなパスの生成
from datetime import datetime
now = datetime.now().strftime("%Y%m%d%H%M%S")
dst = f"/root/output/{now}_result/hoge.txt"
print(dst)
>> /root/output/20190910091749_result/hoge.txt
f-stringを使って文字列内に変数を埋め込んでパスを生成.
パスが一続きの文字列として記述されているため,生成されるパス名が把握しやすい.
さらにスマートなパスの生成
from pathlib import Path
from datetime import datetime
now = datetime.now().strftime("%Y%m%d%H%M%S")
outdir = f"/root/output/{now}_result"
fname = "hoge.txt"
dst = Path(outdir) / fname
print(dst)
>> /root/output/20190910093057_result/hoge.txt
Pathを使って,出力先フォルダPath(outdir)と出力ファイル名fnameを連結した.
パス生成の際,出力先フォルダと出力ファイル名の間に/があるため,フォルダ名とファイル名の区別がつき,わかりやすいと思う.






ディスカッション
コメント一覧
まだ、コメントがありません