使用python连接ftp 下载里面的文件 将下载的文件筛选出来然后再上传回来,先遇到的问题是 每天下载和上传回来的文件都对应的上,但是16号的文件无法下载下来 导致当天的文件没有筛选回传,求指导一下可以自动根据那天没有上传的文件 自动下载那天的文件,我现在使用的方法是下载每天前一天的方法
2条回答 默认 最新
- CodeBytes 2023-02-01 10:28关注
参考方案,最新代码,还望采纳:
import ftplib import os import time ftp = ftplib.FTP("ftp.example.com") ftp.login("username", "password") def download_files(ftp, date): # 切换到远程服务器的指定目录 ftp.cwd("/remote/directory") # 获取当前目录下的文件列表 files = ftp.nlst() for file_name in files: # 判断文件是否是当天的文件 if date in file_name and file_name.endswith(".xlsx"): # 下载文件 with open(file_name, "wb") as f: ftp.retrbinary("RETR " + file_name, f.write) # 进行筛选操作 # TODO: 筛选代码 # 获取当前的日期 today = time.strftime("%Y-%m-%d") # 循环每天的日期 for i in range(11, 16): date = f"2023-02-{i:02d}" if date >= today: break download_files(ftp, date) ftp.quit()
16.10
import ftplib import os # FTP 服务器地址和端口号 ftp_server = "ftp.example.com" port = 21 # FTP 用户名和密码 username = "username" password = "password" # 指定 FTP 目录 ftp_dir = "/data" # 本地下载目录 local_dir = "./download" # 连接到 FTP 服务器 ftp = ftplib.FTP() ftp.connect(ftp_server, port) ftp.login(username, password) ftp.cwd(ftp_dir) # 获取 FTP 目录下的全部数据 ftp_files = ftp.nlst() # 记录OLD文件的数量和RPA文件的数量 old_count = 0 rpa_count = 0 # 遍历 FTP 目录下的全部数据,统计OLD和RPA文件的数量 for file in ftp_files: if file.startswith("OLD"): old_count += 1 elif file.startswith("rpa"): rpa_count += 1 # 如果OLD文件数量等于RPA文件数量,则不下载 if old_count == rpa_count: print("OLD文件数量等于RPA文件数量,无需下载") # 如果OLD文件数量少于RPA文件数量,则根据后面的日期20221227来判断RPA少那个,并下载OLD对应的文件 else: for file in ftp_files: if file.startswith("OLD"): # 如果RPA文件不存在,则下载OLD对应的文件 rpa_file = file.replace("OLD", "rpa") if rpa_file not in ftp_files: local_file = os.path.join(local_dir, file) with open(local_file, "wb") as f: ftp.retrbinary("RETR " + file, f.write) # 关闭连接 ftp.quit()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析
- ¥15 安装ubantu过程中第一个vfat 文件挂载失败
- ¥15 etcd集群部署问题
- ¥20 谁可以帮我一下问一下各位
- ¥15 为何重叠加权后love图的SMD与svyCreateTableOne函数绘制基线表的不一致
- ¥15 QFILHelper怎么恢复全字库,提示进程已完成,只能恢复分区文件
- ¥150 求 《小魔指》街机游戏机整合模拟软件
- ¥20 你好,我想问下easyExcel下拉多选,或者复选框可以实现吗
- ¥20 双非跨考工科哪个专业和方向就业前景好?
- ¥20 求会6sv辐射传输模型,辅导(可py6s🙏🏻有偿