当需要对大量的文件进行重命名时,手动逐个改名未免太过于低效。Python可以帮助我们实现批量重命名文件的操作。下面是具体的步骤:
1.导入os模块
在Python中,想要操作文件或目录,必须要导入os模块,因为os模块提供了很多文件及目录相关的操作函数。所以,开头的第一步就是导入os模块。
import os
2.使用os模块中的rename方法进行重命名
重命名文件实际上就是把文件在文件系统中的名称给进行修改。使用os模块中的rename方法可以完成这一操作。rename方法的参数有两个,第一个参数是旧文件名,第二个参数是新文件名。
os.rename( old_filename, new_filename )
3.编写批量重命名文件的代码
批量修改文件名的代码比较简单。主要步骤如下:
- 列出目标目录下所有文件名。
- 针对列出的文件名,使用os模块中的rename方法完成批量修改文件名。
具体实现代码如下:
import os
def batch_rename( path, newNameBegin, newNameEnd ):
count = 0
# 列出文件夹下所有文件和目录的名称
for file_name in os.listdir(path):
# 根据路径和文件名拼出文件的绝对路径
old_file_path = os.path.join(path, file_name)
# 如果是文件,进入重命名的操作
if os.path.isfile(old_file_path):
# 按照自定义的文件名格式生成新的文件名
new_file_name = newNameBegin + str(count) + newNameEnd
# 拼接出文件的绝对路径
new_file_path = os.path.join(path, new_file_name)
#执行修改文件名
os.rename(old_file_path, new_file_path)
count += 1
# 执行批量重命名的操作
batch_rename("F:/test", "new_file_", ".txt")
上面的代码会把“F:/test”文件夹下所有的文件名以“new_file_0.txt”、“new_file_1.txt”的格式进行重命名。
示例一:批量修改文件名中部分字符
如果想要把文件名中一部分字符替换为另一种字符,可以借助Python的字符串替换功能。
下面是一部分示例代码:
import os
def batch_rename( path ):
# 列出文件夹下所有文件和目录的名称
for file_name in os.listdir(path):
# 根据路径和文件名拼出文件的绝对路径
old_file_path = os.path.join(path, file_name)
# 如果是文件,进入重命名的操作
if os.path.isfile(old_file_path):
# 把文件名中的“test”替换为“new_test”
new_file_name = file_name.replace("test", "new_test")
# 拼接出文件的绝对路径
new_file_path = os.path.join(path, new_file_name)
# 执行修改文件名的操作
os.rename(old_file_path, new_file_path)
# 执行批量重命名的操作
batch_rename( "F:/test" )
以上代码将“F:/test”文件夹下所有文件名中的“test”替换为“new_test”。
示例二:批量修改文件名的文件后缀名
如果想要修改文件的后缀名,可以采用如下方式指定新的文件后缀名。
下面是一部分示例代码:
import os
def batch_rename( path, newSuffix ):
#列出文件夹下所有文件和目录的名称
for file_name in os.listdir(path):
#根据路径和文件名拼出文件的绝对路径
old_file_path = os.path.join(path, file_name)
#如果是文件,进入重命名的操作
if os.path.isfile(old_file_path):
#把文件的后缀名修改为指定的新的后缀名
new_file_name = os.path.splitext(file_name)[0] + newSuffix
# 拼接出文件的绝对路径
new_file_path = os.path.join(path, new_file_name)
#执行修改文件名
os.rename(old_file_path, new_file_path)
# 执行批量重命名的操作
batch_rename("F:/test", ".docx")
以上代码把“F:/test”文件夹下所有的文件的后缀名修改为“.docx”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用python实现批量重命名文件的代码 - Python技术站