• 零代码编程:用ChatGPT批量删除标题中开头的空格


    文件夹里面有一些文件标题名称前面是空格,要批量删除。

    可以在ChatGPT中输入提示词如下:

    你是一个Python编程专家,要完成一个批量重命名文件标题的任务,具体步骤如下:

    打开本地电脑文件夹:E:\National Geographic Kids

    读取文件夹里面的所有mp4文件;

    如果文本标题中开头第一个字符中是空格,则将文件标题中的这个空格删除掉;

    注意:每一步都要输出信息

    如果删除空格后的文件标题和文件夹中其他标题名重复,则在文件标题后加上一个“new”,以便进行区别;

    程序运行后,大部分成功,一部分没成功,错误信息如下:

    处理文件: Cats vs. Dogs Read Aloud.mp4

    发现开头空格: Cats vs. Dogs Read Aloud.mp4

    重命名为:Cats vs. Dogs Read Aloud.mp4

    Traceback (most recent call last):

    File "d:\Python\deletesapceinfilename.py", line 25, in

    os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))

    FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'E:\\National Geographic Kids\\ Cats vs. Dogs Read Aloud.mp4' -> 'E:\\National Geographic Kids\\Cats vs. Dogs Read Aloud.mp4'

    ChatGPT的回复是:

    你的系统把 "Cats vs. Dogs Read Aloud.mp4" 和 " Cats vs. Dogs Read Aloud.mp4" 当成是同一个文件,即使我们在文件名中间加入了"_temp"。这可能是因为在 Windows 系统中,文件名的开头和结尾的空白字符会被自动忽略。

    一个可能的解决方案是,我们可以先把文件移动到一个临时文件夹,然后再移动回原来的文件夹并重命名。以下是一种可能的实现:

    import os

    import shutil

    # 定义文件夹路径和临时文件夹路径

    folder_path = 'E:\\National Geographic Kids'

    temp_folder_path = 'E:\\National Geographic Kids\\temp'

    # 如果临时文件夹不存在,创建临时文件夹

    if not os.path.exists(temp_folder_path):

    os.makedirs(temp_folder_path)

    # 读取文件夹里的所有文件并存储文件名

    filenames = [f for f in os.listdir(folder_path) if f.endswith('.mp4')]

    # 遍历文件名

    for filename in filenames:

    print(f'处理文件:{filename}')

    # 检查文件名开头是否有空格

    if filename.startswith(' '):

    print(f' 发现开头空格:{filename}')

    new_filename = filename.lstrip() # 删除开头空格

    # 检查新文件名是否已存在

    if new_filename in filenames:

    print(f' 文件名冲突,添加"new"')

    new_filename = new_filename.rsplit('.', 1)[0] + 'new.' + new_filename.rsplit('.', 1)[1]

    # 将文件移动到临时文件夹并重命名

    shutil.move(os.path.join(folder_path, filename), os.path.join(temp_folder_path, new_filename))

    # 将文件从临时文件夹移回原文件夹

    shutil.move(os.path.join(temp_folder_path, new_filename), os.path.join(folder_path, new_filename))

    print(f' 重命名为:{new_filename}')

    else:

    print(' 文件名未改变')

    # 删除临时文件夹

    os.rmdir(temp_folder_path)

    print('所有文件处理完成')

    运行修改后的Python代码,成功!

  • 相关阅读:
    Seata源码分析——SessionManager
    JUC基础
    号码吉凶查询易语言代码
    小学生Python编程 ----- 打鸭子
    Pod控制器详解
    最新MySql8.27主从复制以及SpringBoot项目中的读写分离实战
    有一个整形数组, a[3] = {7,2,5}, 要求使用指针实现数组成员由小到大的顺序排列,即结果为:a[3] = {2,5,7};(C++指针练习2)
    Vue如何实现快进后退的跑马灯组件
    富格林:曝光正确摆脱欺诈方略
    神经网络需要的数学知识,神经网络的数学表达式
  • 原文地址:https://blog.csdn.net/AIGCTribe/article/details/133693230