Python修改文件名称

Python修改文件名称

Python修改文件名称

在日常的编程开发中,经常会遇到需要批量修改文件名称的情况。Python作为一门功能强大且易于使用的编程语言,提供了多种方法来实现文件名称的修改。本文将详细介绍如何使用Python进行文件名称的修改。

1. os模块

Python的os模块提供了与操作系统相关的功能,包括文件的操作。通过os模块,可以实现对文件名称的修改。

首先,我们需要导入os模块:

import os
Python

1.1 使用os.rename()方法

os模块中的rename()方法可以用于修改文件名称。它接受两个参数,第一个参数是旧的文件名,第二个参数是新的文件名。下面是一个示例代码:

import os

old_name = 'old_filename.txt'
new_name = 'new_filename.txt'

os.rename(old_name, new_name)
Python

以上代码将文件名为old_filename.txt的文件改名为new_filename.txt

1.2 使用os.path模块结合os.rename()方法

在实际应用中,文件往往不仅仅是位于当前目录下,还可能分布在不同的子目录中。此时,我们可以结合os.path模块和os.rename()方法来修改文件名称。

os.path模块提供了许多方法用于处理文件路径,其中包括os.path.join()方法可以用于连接路径,os.path.dirname()方法可以用于获取文件所在目录。

接下来,我们通过os.walk()方法遍历文件夹及其子文件夹,找到所有满足条件的文件,并对其进行重命名。

示例代码如下:

import os

def rename_files(path, old_name_pattern, new_name_pattern):
    for dirpath, dirnames, filenames in os.walk(path):
        for filename in filenames:
            if old_name_pattern in filename:
                old_name = os.path.join(dirpath, filename)
                new_name = os.path.join(dirpath, filename.replace(old_name_pattern, new_name_pattern))
                os.rename(old_name, new_name)

path = 'C:/example_folder'
old_name_pattern = 'old'
new_name_pattern = 'new'

rename_files(path, old_name_pattern, new_name_pattern)
Python

以上代码通过遍历C:/example_folder目录及其子目录中的所有文件,将文件名中包含’old’的部分替换为’new’。

2. glob模块

Python的glob模块提供了一个函数用于从文件夹中搜索文件路径。结合os模块的文件操作,可以实现文件名称的修改。

首先,我们需要导入glob和os模块:

import glob
import os
Python

2.1 使用glob.glob()方法

glob模块的glob()方法可以用于匹配文件路径。它接受一个参数,该参数是匹配的模式。其中,通配符*可匹配任意个字符,?可匹配单个字符。

下面是一个示例代码:

import glob

files = glob.glob('folder/*.txt')
print(files)
Python

以上代码将输出文件夹folder中所有以.txt结尾的文件路径。

2.2 使用os.path模块和os.rename()方法

在使用glob模块获取文件路径后,可以结合os.path模块和os.rename()方法来修改文件名称。

示例代码如下:

import glob
import os

def rename_files(pattern, old_name_pattern, new_name_pattern):
    files = glob.glob(pattern)
    for file in files:
        dirpath = os.path.dirname(file)
        filename = os.path.basename(file)
        if old_name_pattern in filename:
            old_name = file
            new_name = os.path.join(dirpath, filename.replace(old_name_pattern, new_name_pattern))
            os.rename(old_name, new_name)

pattern = 'folder/*.txt'
old_name_pattern = 'old'
new_name_pattern = 'new'

rename_files(pattern, old_name_pattern, new_name_pattern)
Python

以上代码将修改文件夹folder中所有以.txt结尾的文件名,将文件名中包含’old’的部分替换为’new’。

3. 总结

本文介绍了使用Python进行文件名称修改的方法。通过os模块的os.rename()方法,我们可以直接修改文件名称。而通过os.path模块的辅助,我们可以处理文件所在目录和文件路径。此外,glob模块的使用可以帮助我们快速匹配文件路径。

在实际应用中,只需要根据具体需求选择合适的方法,即可轻松地实现文件名称的修改。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册