Python批量给文件改名的两种方法

您所在的位置:网站首页 spyder怎么重命名 Python批量给文件改名的两种方法

Python批量给文件改名的两种方法

2024-01-16 11:13| 来源: 网络整理| 查看: 265

Python 文件批量重命名

目录 Python 文件批量重命名方法一(os.listdir):1.加前缀2.替换重命名/后缀 方法二(os.walk):1.加前缀2.替换重命名/后缀

方法一(os.listdir):

用os.listdir方法,只修改父文件夹下的某种类型文件名,子文件夹里的同种类型文件不受影响。

1.加前缀

比如,我们只给Test2文件夹下的001.txt文件加上前缀‘test-’ 在这里插入图片描述 不影响子文件夹里的文件aaa.txt 在这里插入图片描述 运行代码,提示改名成功的文件有一个: 在这里插入图片描述来验收结果: 在这里插入图片描述 其他子文件夹下的txt类型文件未受影响 在这里插入图片描述 python 代码如下:

import os,sys #导入模块 def add_prefix_files(): #定义函数名称 mark = 'test-' #准备添加的前缀内容 old_names = os.listdir( path ) #取路径下的文件名,生成列表 for old_name in old_names: #遍历列表下的文件名 if old_name!= sys.argv[0]: #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名 if old_name.endswith('.txt'): #当文件名以.txt后缀结尾时 os.rename(os.path.join(path,old_name),os.path.join(path,mark+old_name)) #重命名文件 print (old_name,"has been renamed successfully! New name is: ",mark+old_name) #输出提示 if __name__ == '__main__': path = r'E:\我的学习\编程\Python\PythonTest2\Test2' #运行程序前,记得修改主文件夹路径! add_prefix_files() #调用定义的函数,注意名称与定义的函数名一致

记得修改路径,和需要替换的内容。添加后缀不可用此方法,应该用替换方式。 可以举一反三的是:善用 if old_name!=…,可以排除掉不想改名的文件。

2.替换重命名/后缀

如果要给文件加后缀,不能直接用“在os.rename那里,把mark+old_name换成old_name+mark”的方法,因为文件是有拓展名的。可以采用替换的方式来添加后缀。 比如只给Test2文件夹下的001.txt文件加上后缀‘-test’: 在这里插入图片描述 不影响子文件夹下的其他txt文件 在这里插入图片描述 运行成功后会有提示,一个文件名修改成功: 在这里插入图片描述 验收结果: 在这里插入图片描述 其他子文件夹下的txt类型文件未受影响 在这里插入图片描述 python 代码如下:

import os,sys #导入模块 def rename_files(): #定义函数名称 old_names = os.listdir( path ) #取路径下的文件名,生成列表 for old_name in old_names: #遍历列表下的文件名 if old_name!= sys.argv[0]: #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名 if old_name.endswith('.txt'): #当文件名以.txt后缀结尾时 new_name=old_name.replace('.txt','-test.txt') #将原来名字里的‘.txt’替换为‘-test.txt’,相当于加个后缀了 os.rename(os.path.join(path,old_name),os.path.join(path,new_name)) #重命名文件 print (old_name,"has been renamed successfully! New name is: ",new_name) #输出提示 if __name__ == '__main__': path = r'E:\我的学习\编程\Python\PythonTest2\Test2' #运行程序前,记得修改主文件夹路径! rename_files() #调用定义的函数,注意名称与定义的函数名一致

记得修改路径,文件后缀,需要替换的内容。 需要批量替换文件名也是一样的。

方法二(os.walk):

要在父文件夹下,将所有某种类型的文件(无论其在子文件夹里还是子文件夹外)加上前缀,可以用此方法。

1.加前缀

比如,我们要给Test2文件夹下所有txt文件都加上前缀‘test-’。(无论001.txt还是aaa.txt) 在这里插入图片描述在这里插入图片描述 运行代码,提示改名成功的文件有四个: 在这里插入图片描述来验收结果: 在这里插入图片描述在这里插入图片描述 python 代码如下:

import os,sys #导入模块 def add_prefix_files(): #定义函数名称 mark = 'test-' #准备添加的前缀内容 for foldName, subfolders, filenames in os.walk(path): #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名 for filename in filenames: #遍历列表下的子文件夹名 if filename!= sys.argv[0]: #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名 if filename.endswith('.txt'): #当文件名以.txt后缀结尾时 os.rename(os.path.join(foldName,filename),os.path.join(foldName,mark+filename)) #重命名文件 print (filename,"has been renamed successfully! New name is: ",mark+filename) #输出提示 if __name__ == '__main__': path = r'E:\我的学习\编程\Python\PythonTest2\Test2' #运行程序前,记得修改主文件夹路径! add_prefix_files() #调用定义的函数,注意名称与定义的函数名一致

记得修改路径,和需要替换的内容。添加后缀不可用此方法,应该用替换方式,可以继续往后看。

2.替换重命名/后缀

如果要给文件加后缀,不能直接用“在os.rename那里,把mark+old_name换成old_name+mark”的方法,因为文件是有拓展名的。可以采用替换的方式来添加后缀。 比如要给Test2文件夹下的所有txt文件都加上后缀‘-test’: 在这里插入图片描述在这里插入图片描述 运行代码,提示改名成功的文件有四个: 在这里插入图片描述验收结果: 在这里插入图片描述 在这里插入图片描述 python 代码如下:

import os,sys #导入模块 def rename_files(): #定义函数名称 for foldName, subfolders, filenames in os.walk(path): #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名 for filename in filenames: #遍历列表下的子文件夹名 if filename!= sys.argv[0]: #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名 if filename.endswith('.txt'): #当文件名以.txt后缀结尾时 new_name=filename.replace('.txt','-test.txt') #将原来名字里的‘.txt’替换为‘-test.txt’,相当于加个后缀了 os.rename(os.path.join(foldName,filename),os.path.join(foldName,new_name)) #重命名文件 print (filename,"has been renamed successfully! New name is: ",new_name) #输出提示 if __name__ == '__main__': path = r'E:\我的学习\编程\Python\PythonTest2\Test2' #运行程序前,记得修改主文件夹路径! rename_files() #调用定义的函数,注意名称与定义的函数名一致

记得修改路径,和需要替换的内容。 需要批量替换文件名也是一样的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3