import os
def replace_file_names(directory, old_name, new_name):
try:
# 遍历目录中的所有文件
for filename in os.listdir(directory):
# 检查文件名中是否包含旧的部分
if old_name in filename:
# 构造新的文件名
new_filename = filename.replace(old_name, new_name)
# 生成完整的旧文件路径和新文件路径
old_path = os.path.join(directory, filename)
new_path = os.path.join(directory, new_filename)
# 重命名文件
os.rename(old_path, new_path)
print(f"Renamed '{old_path}' to '{new_path}'")
except Exception as e:
print(f"发生错误: {e}")
if __name__ == '__main__':
directory_input = input("请输入文件名所在的目录地址: ")
filename_input = input("请输入文件名里要被替换的字符串: ")
replace_input = input("请输入文件名里要替换的新字符串: ")
print(f"目录所在地址: {directory_input}")
print("将字符串:", filename_input, "\t替换为:", replace_input)
replace_file_names(directory_input, filename_input, replace_input)
以上代码使用os模块来批量修改文件名。展示了如何遍历一个目录并修改其中的文件名,replace_file_names函数会遍历指定目录中的所有文件,检查文件名中是否包含旧的部分,如果包含则使用os.rename函数将其重命名为新的文件名。注意,这个示例只会修改文件名,而不会修改目录名或递归地修改子目录中的文件名。
在上面的示例中,replace_file_names函数接受三个参数:
directory:要遍历的目录路径。
old_name:要替换的旧文件名。
new_name:要替换的新文件名。
请确保在运行代码之前备份你的文件,以防止意外删除或重命名导致数据丢失。