Python文件重命名

1. 前言
在编程开发过程中,我们经常需要对文件进行重命名操作。Python作为一门强大的编程语言,提供了丰富的文件操作函数和方法,使得文件重命名变得简单快捷。本文将详细介绍Python中文件重命名的方法和技巧。
2. 文件重命名方法
2.1 os模块
Python的标准库os模块提供了许多与操作系统相关的函数,其中包括文件重命名的功能。我们可以使用os.rename()函数来实现文件重命名操作。
具体的函数语法如下:
os.rename(src, dst)
src:源文件名,用于指定需要重命名的文件路径。dst:目标文件名,用于指定重命名后的文件路径。
下面是一个简单的示例代码,演示如何使用os.rename()函数重命名一个文件:
import os
# 定义源文件名和目标文件名
src = "oldfile.txt"
dst = "newfile.txt"
# 文件重命名操作
os.rename(src, dst)
运行以上代码后,当前目录下的oldfile.txt文件将被重命名为newfile.txt。
需要注意的是,使用os.rename()函数进行文件重命名的时候,要确保目标文件名(dst)不存在,否则会报FileNotFoundError错误。如果目标位置已经存在一个同名文件,可以使用os.replace()函数进行替换操作。
2.2 shutil模块
另外一个常用的文件操作模块是shutil模块。与os模块类似,shutil模块也提供了文件重命名的功能。我们可以使用shutil.move()函数来实现文件重命名操作。
具体的函数语法如下:
shutil.move(src, dst)
src:源文件名,用于指定需要重命名的文件路径。dst:目标文件名,用于指定重命名后的文件路径。
下面是一个示例代码,演示如何使用shutil.move()函数重命名一个文件:
import shutil
# 定义源文件名和目标文件名
src = "oldfile.txt"
dst = "newfile.txt"
# 文件重命名操作
shutil.move(src, dst)
运行以上代码后,当前目录下的oldfile.txt文件将被重命名为newfile.txt。
与os.rename()函数类似,shutil.move()函数在进行文件重命名操作时,也会报FileNotFoundError错误,如果目标位置已经存在一个同名文件,可以使用shutil.move()函数进行替换操作。
3. 批量文件重命名
除了单个文件的重命名操作,我们经常需要对多个文件进行批量重命名。Python提供了多种方法来实现批量文件重命名,下面将介绍两种常用的方法。
3.1 使用os模块进行批量重命名
使用os模块进行批量文件重命名需要配合循环语句和字符串处理函数一起使用。下面是一个示例代码,演示如何使用os模块进行批量文件重命名:
import os
# 获取指定文件夹下所有文件的文件名列表
folder = "images/"
files = os.listdir(folder)
# 批量重命名文件
for i, file in enumerate(files):
# 构建源文件路径和目标文件路径
src = os.path.join(folder, file)
dst = os.path.join(folder, f"newfile_{i}.jpg")
# 文件重命名操作
os.rename(src, dst)
以上代码中,我们首先使用os.listdir()函数获取指定文件夹下的所有文件的文件名列表。然后使用循环语句对每个文件进行重命名操作,重命名后的文件名为newfile_0.jpg, newfile_1.jpg, newfile_2.jpg等。
3.2 使用glob模块进行批量重命名
另外一个常用的批量文件重命名方法是使用glob模块。glob模块提供了文件路径的模式匹配功能,可以根据预定义的模式匹配文件名,并批量进行重命名操作。
下面是一个示例代码,演示如何使用glob模块进行批量文件重命名:
import glob
import os
# 获取指定文件夹下的所有jpg图片文件路径列表
folder = "images/"
files = glob.glob(folder + "*.jpg")
# 批量重命名文件
for i, file in enumerate(files):
# 构建目标文件路径
dst = os.path.join(folder, f"newfile_{i}.jpg")
# 文件重命名操作
os.rename(file, dst)
以上代码中,我们首先使用glob.glob()函数获取指定文件夹下的所有jpg图片文件的文件路径列表。然后使用循环语句对每个文件进行重命名操作,重命名后的文件名为newfile_0.jpg, newfile_1.jpg, newfile_2.jpg等。
4. 总结
本文详细介绍了Python中文件重命名的方法和技巧。通过使用os模块和shutil模块,我们可以轻松地实现单个文件的重命名操作。此外,我们还介绍了如何使用循环语句和字符串处理函数来批量重命名文件。
极客笔记