零代码编程:用ChatGPT批量删除标题中多个词组

文件夹里有多个视频文件,标题中有多个词组要批量删除掉。

零代码编程:用ChatGPT批量删除标题中多个词组_第1张图片

在ChatGPT中输入提示词:

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

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

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

如果文本标题中含有如下词组:

national geographic for kids_

National Geographic Kids-

National Geographic kid look and learn -

National Geographic Kids Readers_

National Geographic Readers_

Read with Chimey_ National Geographic Kids-

Read with Chimey_ Read aloud for National Geographic Kids-

则将文件标题中的这些词组全部删除掉;

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

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

运行程序,部分成功,但是“Read with Chimey_ National Geographic Kids-”没有被删除

零代码编程:用ChatGPT批量删除标题中多个词组_第2张图片

于是,让ChatGPT自己进行检查查找原因:

零代码编程:用ChatGPT批量删除标题中多个词组_第3张图片

ChatGPT的回复是:

这可能是因为在你的文件名中,"Read with Chimey_ National Geographic Kids-" 后面可能还有额外的空格或特殊字符。Python 的 str.replace() 方法在替换字符串时是完全匹配的,所以如果文件名中的词组后面有额外的字符,这个词组就不会被识别和删除。

为了解决这个问题,你可以考虑使用 Python 的 re 模块(正则表达式模块)来进行更灵活的匹配和替换。下面是一个修改后的脚本:

import os

import re

# 定义文件夹路径和需要删除的词组

folder_path = 'E:\\National Geographic Kids'

phrases_to_remove = [

'national geographic for kids_',

'National Geographic kid look and learn -',

'National Geographic Kids Readers_',

'National Geographic Readers_',

'Read with Chimey_ National Geographic Kids-',

'Read with Chimey_ Read aloud for National Geographic Kids-'

]

# 读取文件夹里的所有文件

for filename in os.listdir(folder_path):

if filename.endswith('.mp4'):

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

new_filename = filename

# 检查文件名是否包含指定的词组

for phrase in phrases_to_remove:

# 使用正则表达式删除词组及其后面可能的空格

pattern = re.compile(phrase.strip() + r'\s*')

new_filename = pattern.sub('', new_filename)

# 如果文件名有变动,重命名文件

if new_filename != filename:

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

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

else:

print(' 文件名未改变')

else:

print(f'忽略非mp4文件:{filename}')

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

再次运行,成功。

零代码编程:用ChatGPT批量删除标题中多个词组_第4张图片

你可能感兴趣的:(chatgpt)