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

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

服务器学习网综合整理   2024-05-15 11:42:47

方法一:使用os模块 Python的os模块提供了丰富的文件和目录操作功能,包括重命名文件。通过遍历目录中的文件列表,结合os.rename()函数,可以实现对文件名的批量修改。 import os # 设定目标目录 dir_path = '/path/to/directory' # 遍历目录中...

在Python中,批量修改文件名是一项非常实用的技能,尤其在处理大量文件时能够显著提高效率。下面将介绍几种常用的方法来实现这一功能。

方法一:使用os模块

Python的os模块提供了丰富的文件和目录操作功能,包括重命名文件。通过遍历目录中的文件列表,结合os.rename()函数,可以实现对文件名的批量修改。

import os

# 设定目标目录
dir_path = '/path/to/directory'

# 遍历目录中的文件
for filename in os.listdir(dir_path):
    # 构建旧文件路径和新文件路径
    old_file_path = os.path.join(dir_path, filename)
    new_filename = 'new_' + filename  # 根据需要修改文件名规则
    new_file_path = os.path.join(dir_path, new_filename)

    # 重命名文件
    os.rename(old_file_path, new_file_path)

方法二:使用glob模块

如果只需要修改特定类型的文件,可以使用glob模块来匹配文件模式。结合os.rename()函数,可以实现对特定类型文件的批量重命名。

import os
import glob

# 设定目标目录和文件模式
dir_path = '/path/to/directory'
file_pattern = '*.txt'  # 匹配所有txt文件

# 使用glob模块获取匹配的文件列表
for filename in glob.glob(os.path.join(dir_path, file_pattern)):
    # 提取文件名和扩展名
    base_name, ext_name = os.path.splitext(filename)
    new_filename = 'modified_' + base_name + ext_name  # 根据需要修改文件名规则
    new_file_path = os.path.join(dir_path, new_filename)

    # 重命名文件
    os.rename(filename, new_file_path)

方法三:使用pathlib模块(推荐)

Python 3.4及以上版本引入了pathlib模块,它提供了一种面向对象的文件系统路径接口,使得文件操作更加直观和易读。

from pathlib import Path

# 设定目标目录
dir_path = Path('/path/to/directory')

# 遍历目录中的文件
for file in dir_path.glob('*'):
    if file.is_file():  # 确保是文件而不是目录
        new_filename = 'new_' + file.stem + file.suffix  # 根据需要修改文件名规则
        new_file_path = dir_path / new_filename

        # 重命名文件
        file.rename(new_file_path)

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

以上三种方法都能够实现Python中批量修改文件名的功能。具体选择哪种方法取决于个人偏好和具体需求。在实际应用中,还可以根据文件名规则、扩展名等条件进行更复杂的文件名修改操作。通过灵活组合这些方法,可以高效地处理大量文件,提高工作效率。

推荐文章