之前有做类似的脚本,批量复制,在多个不同文件夹中包含mp3这个类文件,依据后缀筛选出来,并复制到指定文件夹。
今天测试了将同一类型的文件后缀名修改一下,这个需求可能会遇到,可能觉得很奇怪。因为我遇到这个样的问题,只要是pdf的文件,即使移动一下就被设置为加密文件,虽然不影响使用,但是看起文件图标上的加密锁,有强迫症的我,感觉很不舒服,所以写一个脚本,将所有的PDF文件改一下后缀,测试代码如下:
import os myFolder_Path = r"E:\2099\EBook"
# 直接将后缀修改掉,避免移动过程造成加密 , 将PDF修改为pf
# 定义修改扩展名函数如下:
def Modify_file_Extension(folder): for path, dir_list, file_list in os.walk(folder): for fileName in file_list: if fileName[-3:] =='pdf': source_file = os.path.join(path, fileName) portion = os.path.splitext(source_file) new_file = str(portion[0])+".pf" os.rename(source_file, new_file) # 执行验证 Modify_file_Extension(myFolder_Path)
实现原理: 1. 取得文件名 E:\2099\EBook\14. Database Access Using LINQ and ADO.NET. ( PDFDrive ).pdf 2.分离名和扩展名 ('E:\\2099\\EBook\\14. Database Access Using LINQ and ADO.NET. ( PDFDrive )', '.pdf') 3.拼接新的扩展名E:\2099\EBook\14. Database Access Using LINQ and ADO.NET. ( PDFDrive ).pf 4.使用新拼接名重名即可