Python批量修改文件名的方式详解

咖啡半糖
咖啡半糖
发布时间:2026-10-14| 6人浏览过
原创

本文详细介绍使用Python批量修改文件名的两种常见场景:保留原后缀仅修改前缀,以及完全重命名包括后缀。通过具体代码示例演示如何利用os和re模块实现自动化处理,并特别指出运行过程中可能因文件名冲突导致的报错情况及解决方案,帮助开发者高效管理文件列表。

批量修改文件名(保留后缀)

该方法旨在保留文件原有的扩展名,主要演示针对图片文件的名称修改过程。


# 批量修改文件名
# 批量修改图片文件名
import os
import re
import sys


path = 'F:\Temp\ZZ'
fileList = os.listdir(path)		            # 待修改文件夹
print("修改前:"+str(fileList))		    # 输出文件夹中包含的文件

currentpath = os.getcwd()		            # 得到进程当前工作目录
os.chdir(path)		                        # 将当前工作目录修改为待修改文件夹的位置
n = 1		                                # 名称变量
for fileName in fileList:		            # 遍历文件夹中所有文件
    pat=".+\.(jpg|png|jpeg)"		        # 匹配文件名正则表达式
    pattern = re.findall(pat,fileName)		# 进行匹配
    os.rename(fileName,(str(n)+'.'+pattern[0]))		#文件重新命名
    n += 1		                        	# 改变编号,继续下一项

os.chdir(currentpath)		                # 改回程序运行前的工作目录
sys.stdin.flush()		                    # 刷新
print("修改后:"+str(os.listdir(path)))		#输出修改后文件夹中包含的文件

批量修改文件名(全改)

此方法允许修改文件原有的扩展名,同样以图片文件的修改作为主要演示案例。


import os

path = 'F:\Temp\ZZ'
# 获取该目录下所有文件,存入列表中
fileList = os.listdir(path)

n = 0
for i in fileList:
    # 设置旧文件名(就是路径+文件名)
    oldname = path + os.sep + fileList[n]  # os.sep添加系统分隔符
    # 设置新文件名
    newname = path + os.sep + 'a' + str(n+1) + '.jpg'
    os.rename(oldname, newname)  # 用os模块中的rename方法对文件改名
    print(oldname, '======>', newname)
    n += 1

代码执行时需注意一个潜在问题:如果文件夹中已存在如a1.jpg、a3.jpg、a6.jpg等命名的文件,直接运行上述代码可能会引发报错。这是因为在重命名过程中,新生成的文件名可能与现有文件重名,导致两个同名文件共存。解决此问题的方法是将代码中的前缀字母a更改为其他不冲突的字符。

读取文件下的所有文件名


import os

# 输出所有的文件夹名和文件名
path = 'F:\Temp\ZZ'
dataFileList = os.listdir(path)
for i in dataFileList:
    print(i)


# 读取特定的文件名
txtFile = []
for filename in dataFileList:
    j = filename.split('.')
    if len(j)==2:
        if j[1]=='txt':
            txtFile.append(filename)

总结

至此,关于Python批量修改文件名的介绍已结束。如需了解更多相关内容,建议搜索本站过往文章或继续浏览后续文章,感谢大家的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。