前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >零代码编程:用ChatGPT批量删除标题中开头的空格

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

作者头像
AIGC部落
发布2024-06-24 15:19:19
580
发布2024-06-24 15:19:19
举报
文章被收录于专栏:Dance with GenAI

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

可以在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 <module>

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代码,成功!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dance with GenAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档