1-目的:编写一个可以自动修改指定文件夹内文件名称的程序
2-文件详情:
文件夹地址:D:\01-硕博论文
文件名的格式:number-year-name1-name2
3-现在要求如下:
1)首先读取文件夹内的文件名称
2)然后根据名称按number的大小顺序由小到大排序,Num=文件个数。
3)重命名文件名,保持文件名的格式中的-year-name1-name2不变,修改number的值:将文件名的格式中的number按阿拉伯数字从1到Num开始重新从命名(按第2步排过序的文件顺序重新命名)。
import os
folder_path = r"D:\01-硕博论文"
# 获取文件夹内所有文件的路径
file_paths = [os.path.join(folder_path, filename) for filename in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, filename))]
# 按number的大小顺序对文件路径进行排序
file_paths.sort(key=lambda x: int(os.path.basename(x).split('-')[0]))
# 重命名文件
for i, file_path in enumerate(file_paths):
file_name = os.path.basename(file_path)
file_extension = os.path.splitext(file_name)[1] # 获取文件扩展名
new_file_name = f"{i+1:02d}-{file_name.split('-')[1]}-{file_name.split('-')[2]}-{file_name.split('-')[3]}{file_extension}"
new_file_path = os.path.join(folder_path, new_file_name)
os.rename(file_path, new_file_path)