赵灵越 2023-11-01 16:48 采纳率: 99.3%
浏览 4
已结题

检索所有.py文件,移动到 /storage/emulated/0/代码/代码/,重复文件标记重复

我不懂为什么这个机器人总是跟我绕?
你是一位精通各种程序代码的资深工程师,请根据以下需求,为我生成一段Python代码:
代码目的:代码用汉语变量
代码要求:规范代码 规范变量 规范参数 规范代码逻辑顺序,使用函数最新方法写代码
选择编程语言或者命令行最简洁,最省时间,能够在安卓机上跑,拿来就用的编程逻辑写的
代码功能:细致完整的代码逻辑树,包括具体的参数变量和路径
检索所有.py文件
移动到
/storage/emulated/0/代码/代码//storage/emulated/0/代码/代/
没有就创建
重复文件打上标记:重复.py文件名 + 编号 + 原文件名

我是说检索所有文件,检索所有文件夹,检索所有子文件,检索所有层次的目录深度去检索

给个进度条与打印信息
用input设置检索的路径
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-02 05:03
    关注

    【以下回答由 GPT 生成】

    import os
    import shutil
    import glob
    from tqdm import tqdm
    
    def move_files():
        # 获取输入的检索路径
        search_path = input("请输入检索路径: ")
    
        # 检索所有.py文件,包括子文件夹和深度层次
        file_list = glob.glob(os.path.join(search_path, '**/*.py'), recursive=True)
    
        # 创建目标文件夹
        target_folder1 = '/storage/emulated/0/代码/代码/'
        target_folder2 = '/storage/emulated/0/代码/代/'
        os.makedirs(target_folder1, exist_ok=True)
        os.makedirs(target_folder2, exist_ok=True)
    
        # 移动文件
        repeat_count = 0
        for file in tqdm(file_list, desc='Moving files'):
            file_name = os.path.basename(file)
            new_file1 = os.path.join(target_folder1, file_name)
            new_file2 = os.path.join(target_folder2, file_name)
            if os.path.exists(new_file1) or os.path.exists(new_file2):
                repeat_count += 1
                # 对重复文件进行标记
                file_name_parts = os.path.splitext(file_name)
                new_file1 = os.path.join(target_folder1, f"重复文件{repeat_count}_{file_name_parts[0]}{file_name_parts[1]}")
                new_file2 = os.path.join(target_folder2, f"重复文件{repeat_count}_{file_name_parts[0]}{file_name_parts[1]}")
            shutil.move(file, new_file1)
            shutil.move(file, new_file2)
    
        # 打印信息
        print(f"共移动了{len(file_list)}个文件")
        if repeat_count > 0:
            print(f"有{repeat_count}个文件是重复文件")
    
    move_files()
    

    请按照要求输入检索路径,代码将会递归地检索指定路径下的所有.py文件,并将这些文件移动到 /storage/emulated/0/代码/代码//storage/emulated/0/代码/代/ 文件夹中。如果文件已经存在于目标文件夹中,则会进行标记并移动。进度条会显示文件移动的进度,最后会打印出移动了多少个文件和有多少个文件是重复文件。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月15日
  • 已采纳回答 11月7日
  • 创建了问题 11月1日

悬赏问题

  • ¥20 ic卡dump文件校检码解密
  • ¥15 关于:接收到的数据不是有效的JSON格式
  • ¥15 apdl语言如何增加受力分析
  • ¥15 算法对比:学校优化算法与蚁群算法对比
  • ¥15 机电一体化系统设计说明书
  • ¥20 sgy数据提取地震波速,有人能回答吗小馋
  • ¥20 c#实现打开word的功能,并且需要安装成windows服务,word打不开怎么办
  • ¥15 python用ARIMA时间预测模型预测数据出错,急!
  • ¥30 为什么后端传给前端vue的河流json数据不在地图中显示出来
  • ¥50 关于弹性波动方程求解的问题: