FFZ0706 2023-08-01 10:11 采纳率: 38.6%
浏览 5
已结题

python操作ftp

img


ftp上的文件名称大概是这样,有没有办法在python上能匹配到当前时间,然后获取整个文件的完整名称

  • 写回答

2条回答 默认 最新

  • 大师兄6668 新星创作者: python技术领域 2023-08-01 10:23
    关注

    你是需要和当前时间匹配的相关文件,然后进行下载是吗?
    python操作ftp是没有问题的,如果是这个要求的话,直接在文件名中进行一下相应的判断就可以了,挺简单的,代码如下:

    from ftplib import FTP
    from datetime import datetime
    
    # 连接到 FTP 服务器
    ftp = FTP('ftp.example.com')
    ftp.login(user='username', passwd='password')
    
    # 切换到指定目录
    ftp.cwd('/path/to/directory')
    
    # 获取目录列表
    directory_list = ftp.nlst()
    
    # 获取当前日期
    current_date = datetime.now().strftime('%Y%m%d')
    
    # 循环遍历目录列表
    for filename in directory_list:
        # 提取文件名中的日期部分
        file_date = filename.split('-')[1][:8]
    
        # 判断文件名中的日期和当前日期是否一致
        if file_date == current_date:
            # 下载文件
            local_file = open(filename, 'wb')
            ftp.retrbinary('RETR ' + filename, local_file.write)
            local_file.close()
            print(f'Downloaded file: {filename}')
    
    # 关闭 FTP 连接
    ftp.quit()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月9日
  • 已采纳回答 8月1日
  • 创建了问题 8月1日