服务器学习网 > 编程学习 > Python中批量修改文件名有什么方法?

Python中批量修改文件名有什么方法?

服务器学习网综合整理   2024-10-18 09:36:26

1. 简单替换法 如果你想将所有以特定字符串开头的文件名替换为另一个字符串,可以使用简单替换法。例如,将所有以“old_name”开头的文件改为“new_name”: import os [os.rename(f, f.replace('old_name', 'new_name')) for f i...

在数据处理和文件管理中,批量修改文件名是一项常见且实用的技能。Python作为一门强大的编程语言,提供了多种方法来实现这一功能。下面,我们将介绍几种常用的Python批量修改文件名的技巧。

1. 简单替换法

如果你想将所有以特定字符串开头的文件名替换为另一个字符串,可以使用简单替换法。例如,将所有以“old_name”开头的文件改为“new_name”:

import os
[os.rename(f, f.replace('old_name', 'new_name')) for f in os.listdir('.') if f.startswith('old_name')]

重点内容:这行代码通过遍历当前目录下的所有文件,检查文件名是否以“old_name”开始,如果是,则使用replace方法将其替换为“new_name”。

2. 序列号赋予法

如果你想给文件加上连续的数字序列,如“file_1”,“file_2”,可以使用序列号赋予法

import os, itertools
[os.rename(f, f'file_{i}') for i, f in enumerate(os.listdir('.'), start=1)]

重点内容:这段代码使用enumerate函数为每个文件名分配一个序号,并与“file_”结合,生成新的文件名。

3. 时间戳添加法

为文件名添加时间戳,可以让重命名带有时间信息,非常适合日志文件管理:

import os, datetime
[os.rename(f, f'{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}_{f}') for f in os.listdir('.')]

重点内容:这段代码使用datetime.now().strftime('%Y%m%d_%H%M%S')生成当前时间的字符串,并将其拼接到原文件名前。

4. 保留扩展名修改法

有时候,我们只想修改文件名,保留其扩展名。这时,可以使用os.Pathstemsuffix属性:

import os
[os.rename(f, f.stem + '_modified' + f.suffix) for f in os.scandir('.') if f.is_file()]

重点内容f.stem获取文件名不包括扩展名的部分,f.suffix则是文件的扩展名,这段代码在文件名后添加了“_modified”。

总结

Python中批量修改文件名有什么方法?

Python通过其强大的标准库,如os模块,为我们提供了多种批量修改文件名的方法。从简单的字符串替换到复杂的命名规则(如添加序列号、时间戳或保留扩展名),Python都能轻松应对。掌握这些技巧,将大大提高你的文件处理效率。

推荐文章