やりたいこと
- 条件にあうファイルを移動
- (例)条件を「今日の日付」が含まれるファイル名とする
ポイント
- ファイル検索
pathlib
- 移動
shutil
サンプルコード
import pathlib
import shutil
import datetime
#今日の日付
yyyymmdd = datetime.date.today().strftime('%Y%m%d')
#移動元フォルダから条件に一致するファイル名を取得
#リストで受け取りたいのでキャストする
p_tmp = list(pathlib.Path('移動元フォルダ').glob(f'{yyyymmdd}*.csv'))
'''リスト化するところを ↑ に修正
p_tmp = pathlib.Path('移動元フォルダ').glob(f'{yyyymmdd}*.csv')
p = [p for p in p_tmp]
'''
dest = '移動先フォルダ'
#ファイル移動
for source in p_tmp:
shutil.move(str(source), dest)
-
pthlib
で拾ったファイル名はジェネレータで返される- リストに格納してfor文でファイル名を1つづつ取り出す
- ↑ 内包表記でリスト化してたけど、わざわざそんなことしなくても
list
でキャストすればよいことが判明 - 取り出したファイル名を
str
で文字列変換すること
-
shutiful.move([移動元], [移動先])
でファイル移動