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
を連結した.
パス生成の際,出力先フォルダと出力ファイル名の間に/
があるため,フォルダ名とファイル名の区別がつき,わかりやすいと思う.
ディスカッション
コメント一覧
まだ、コメントがありません