やりたいこと
- 条件にあうファイルを移動
- (例)条件を「今日の日付」が含まれるファイル名とする
ポイント
- ファイル検索
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([移動元], [移動先])
**でファイル移動