FTPサーバー内にある、['log076_2102250650.csv', 'log111_2104010650.csv', 'log112_2104020650.csv']
のようなファイルを日付を取得して今日のファイルをダウンロードしたいです。log???の部分が000~999までカウントしておりglob.globを使用してワイルドカードでファイル名を指定しようとしてもうまくいきません。どのようにしたらワイルドカードを使ってファイルをダウンロードできるでしょうか。
from ftplib import FTP import glob import os from pathlib import Path FTP_DIR = './test' # ダウンロードするディレクトリの指定 # FTP接続. ftp = FTP( "localhost", "test", passwd="******” ) ftp.cwd(FTP_DIR) files = glob.glob("/test/log???_2104010650.csv") print(files) print('Downloading: ', files) with open(files, "wb") as f: ftp.retrbinary('RETR ' + files, f.write) print('ok') ftp.quit()
エラー
[] Downloading: [] Traceback (most recent call last): File "c:/Users/python/ftp/get_ftp3.py", line 24, in <module> with open(files, "wb") as f: TypeError: expected str, bytes or os.PathLike object, not list
環境
現在テスト環境で行っています
docker win10
ftpd_server
python 3.8.8
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。