详解Python 重命名目录中的所有文件名

  • Post category:Python

下面给出Python重命名目录中所有文件名的方法:

1. 导入必要的库

import os

2. 获取待修改文件名的文件夹路径

path = ‘/example/path/to/folder’

3. 遍历文件夹中所有文件

for filename in os.listdir(path):
# 4. 创建旧文件名和新文件名
old_name = os.path.join(path, filename)
new_name = os.path.join(path, ‘new_’ + filename)

# 5. 重命名文件
os.rename(old_name, new_name)

上述代码中,我们首先导入了Python的os库,然后使用os.listdir()方法遍历了指定目录下的所有文件,接着通过os.rename()进行文件重命名。

下面给出两条示例说明:

示例1:将文件夹中所有文件名中的小写字母转换为大写字母

1. 导入必要的库

import os

2. 获取待修改文件名的文件夹路径

path = ‘/example/path/to/folder’

3. 遍历文件夹中所有文件

for filename in os.listdir(path):
# 4. 创建旧文件名和新文件名
old_name = os.path.join(path, filename)
new_name = os.path.join(path, filename.upper())

# 5. 如果文件名有改变,则重命名文件
if old_name != new_name:
    os.rename(old_name, new_name)

在示例1中,我们利用了Python的字符串方法upper()将文件名中的小写字母全部转换为大写字母。

示例2:重命名文件夹中所有以“.txt”结尾的文件名

1. 导入必要的库

import os

2. 获取待修改文件名的文件夹路径

path = ‘/example/path/to/folder’

3. 遍历文件夹中所有文件

for filename in os.listdir(path):
# 4. 判断文件是否以“.txt”结尾
if filename.endswith(‘.txt’):
# 5. 创建旧文件名和新文件名
old_name = os.path.join(path, filename)
new_name = os.path.join(path, filename.replace(‘.txt’, ‘_new.txt’))

    # 6. 重命名文件
    os.rename(old_name, new_name)

在示例2中,我们首先使用Python的字符串方法endswith()筛选出以“.txt”结尾的文件名,然后使用字符串方法replace()将文件名中的“.txt”替换为“_new.txt”。注意,这里需要注意文件名中可能存在多个“.txt” 的情况,需要使用replace()方法替换所有的“.txt”。