以下是一个可能的实现,需要使用ftplib和os模块:

import ftplib import os from datetime import datetime, timedelta

def connect_ftp(host, username, password): """连接FTP服务器""" ftp = ftplib.FTP(host) ftp.login(username, password) return ftp

def find_bmp_files(ftp, path): """递归查找路径下的BMP文件""" bmp_files = [] ftp.cwd(path) filenames = ftp.nlst() for filename in filenames: try: ftp.cwd(filename) bmp_files += find_bmp_files(ftp, path + '/' + filename) ftp.cwd('..') except ftplib.error_perm: if filename.endswith('.bmp'): bmp_files.append(path + '/' + filename) return bmp_files

def filter_recent_files(file_list, days=7): """只保留修改时间在最近days天之内的文件""" recent_files = [] for file in file_list: mtime = datetime.fromtimestamp(os.path.getmtime(file)) if datetime.now() - mtime <= timedelta(days=days): recent_files.append(file) return recent_files

def main(): host = 'ftp.server.com' username = 'username' password = 'password' ftp = connect_ftp(host, username, password) path = '/A' bmp_files = find_bmp_files(ftp, path) recent_bmp_files = filter_recent_files(bmp_files) for file in recent_bmp_files: print(file)

if name == 'main': main()

请给出一个python函数,实现连接FTP服务器,并递归查找A文件夹下面的每个bmp图片的路径,并只保留修改时间为最近7天的BMP图片。BMP图片会在不同的文件夹下面,所以遇到文件夹时需要递归查找。

原文地址: https://www.cveoy.top/t/topic/xG8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录