伦418 2023-04-30 13:55 采纳率: 100%
浏览 13
已结题

一个Python按修改时间复制文件,却只复制了一个文件


import os
import shutil
import time

source_dir = 'D:/源文件夹'  # 源文件夹路径
target_dir = 'E:/目标文件夹'  # 目标文件夹路径

# 遍历源文件夹中的所有文件
for filename in os.listdir(source_dir):
    source_path = os.path.join(source_dir, filename)
    
    # 判断文件是否为普通文件(排除文件夹等非文件类型)
    if os.path.isfile(source_path):
        mod_time = os.path.getmtime(source_path)  # 获取文件修改时间
        
        # 将创建时间转换为星期和时分
        mod_time_weekday = int(time.strftime('%w', time.localtime(mod_time)))
        mod_time_hour = int(time.strftime('%H', time.localtime(mod_time)))
        mod_time_minute = int(time.strftime('%M', time.localtime(mod_time)))
        
        # 判断文件创建时间是否符合要求
        if mod_time_weekday == 3 and mod_time_hour == 18 and mod_time_minute >= 20 :
            target_path = os.path.join(target_dir, filename)  # 构造目标文件路径
            shutil.copy(source_path, target_path)  # 复制文件到目标文件夹
        elif mod_time_weekday == 3 and mod_time_hour == 19 and mod_time_minute <= 20 :
            target_path = os.path.join(target_dir, filename)  # 构造目标文件路径
            shutil.copy(source_path, target_path)  # 复制文件到目标文件夹
        elif mod_time_weekday == 5 and mod_time_hour == 18 and mod_time_minute >= 20 :
            target_path = os.path.join(target_dir, filename)  # 构造目标文件路径
            shutil.copy(source_path, target_path)  # 复制文件到目标文件夹
        elif mod_time_weekday == 5 and mod_time_hour == 19 and mod_time_minute <= 20 :
            target_path = os.path.join(target_dir, filename)  # 构造目标文件路径
            shutil.copy(source_path, target_path)  # 复制文件到目标文件夹
print("完成")

本来应该是复制所有符合条件的文件,但只复制一个就结束了,是哪里错了( p′︵‵。)
哪位帮忙指点下੭ ᐕ)੭*⁾⁾
谢谢大师指出错误(=^▽^=)

  • 写回答

3条回答 默认 最新

  • Lemon2050 2023-04-30 14:38
    关注

    你有循环,有判断,而且你没贴报错信息,你也没有中断循环的代码,那么我们假定代码正常运行了,但很可能符合条件就只有一个文件。
    好好看看每次循环出来的数据,看看是不是那个判断和你的意愿不符合

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月8日
  • 已采纳回答 4月30日
  • 创建了问题 4月30日

悬赏问题

  • ¥15 计算个体的IBS遗传距离
  • ¥15 有什么好的直流步进减速电机42的厂家推荐,保持力矩达到0.3N.M
  • ¥15 一道蓝桥杯的题,请问我错在哪里
  • ¥15 关于#android问题,xposed模块找不到so
  • ¥15 UE5.4.2创建C++项目成功,但是编译失败
  • ¥15 华为手机备份nas,airdisk,遇到的空间不足问题。求个详细的解决方案。
  • ¥20 Cknife无法使用
  • ¥15 这个结构体为什么会出错呢?
  • ¥15 ROH绘图及近交系数的计算
  • ¥15 手动下载基因拼接数据库的渠道