python:批量修改文件名称
1、初步分析:
所谓批量修改文件名称就是:使用python中的OS模块对文件进行相关操作
2、进一步分析
1.**第一步:**该目录下必须是一系列有规律的文件名称,比如:说西游记第一集,西游就第二集等……这样的文件名称
2**.第二步:**然后要对文件进行批量修改,那么批量修改就是使用循环的方式对有规律的文件名称进行修改
3、**第三步:**然后我们要拿到这个目录文件下的所有文件名称,所有就要使用OS模块下的 listdir( ) 函数来获取当前目录文件下的所有文件名称,该函数返回的是一个包含所有文件名称的列表
4、**第四步:**然后通过循环依次拿到每一个文件名称,拿到文件名称以后,要对有规律的文件名称中的相同字符使用 replace( ) 函数进行替换,替换完以后要返回新的文件名称
5、**第五步:**最后,对每一个文件重命名,新的文件名称为 replace() 函数返回的新文件名称
6、**第六步:**最后,运行程序即可
3、案例
# 【1】导入os模块
import os
# 【2】使用for循环,有规律的创建文件
# 1、创建新文件夹,用于装批量修改的文件
os.mkdir("三国演义")
# 2、修改当前的文件目录为刚创建的文件夹(三国演义)
os.chdir("三国演义")
# 3、使用for循环,创建10个文件
for i in range(1,11):
# 【4】以写的方式创建文件夹
file = open("三国第%d集.txt" %i,"w",encoding="utf-8")
# 【5】关闭文件
file.close()
# 注意:以上操作要先执行,执行完以后要注释,否则会抛出异常
# 【2】开始批量修改
# 1、修改文件目录为包含需要修改的文件夹
os.chdir("三国演义")
# 2、获取“三国演义”该目录文件夹下的所有文件名称,并返回一个目录列表
old_list = os.listdir("./")
# 3、创建函数,用于替换和重命名文件名称
def func(name):
"""
该函数用于替换目录列表中的字符串,并修改文件的名称为新名称
:param name: 目录列表下的文件名称
:return: None
"""
# 4、替换文件名称字符串的“三国”字符,为“新三国”,并返回一个新的字符串
new_name = name.replace("三国","新三国")
# 5、对当前文件重命名,命名为新字符串
os.rename(name,new_name)
# 6、使用map函数对列表中的字符串名称依次进行func函数中的操作
ret = map(func,old_list)
# 7、注意:使用map函数必须输出,否则不起作用
print(list(ret))
执行结果: