如何使用Python修改文件名
在日常工作中,我们经常需要对文件名进行修改,以便更好地管理和组织文件。Python作为一种强大的编程语言,提供了丰富的库和函数,可以帮助我们轻松地实现文件名的修改。本文将介绍如何使用Python来修改文件名,包括添加前缀、后缀、替换特定字符等操作。
1. 添加前缀
有时候我们需要在文件名前面添加一些特定的前缀,以便更好地区分文件。下面是一个示例代码,演示如何使用Python添加前缀:
import os
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
if filename.endswith('.txt'):
new_filename = 'prefix_' + filename
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('前缀添加完成!')
运行以上代码后,文件夹中所有以.txt
结尾的文件名都会在前面添加prefix_
前缀。
2. 添加后缀
类似地,我们也可以在文件名后面添加一些特定的后缀。下面是一个示例代码,演示如何使用Python添加后缀:
import os
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
if filename.endswith('.txt'):
new_filename = filename[:-4] + '_suffix.txt'
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('后缀添加完成!')
运行以上代码后,文件夹中所有以.txt
结尾的文件名都会在后面添加_suffix
后缀。
3. 替换特定字符
有时候我们需要将文件名中的特定字符替换为其他字符,以便更好地符合我们的需求。下面是一个示例代码,演示如何使用Python替换文件名中的特定字符:
import os
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
if 'old' in filename:
new_filename = filename.replace('old', 'new')
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('特定字符替换完成!')
运行以上代码后,文件夹中所有包含old
字符的文件名都会被替换为new
字符。
4. 批量修改文件名
除了单个文件名的修改,我们还可以批量修改文件夹中所有文件的文件名。下面是一个示例代码,演示如何使用Python批量修改文件名:
import os
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
new_filename = 'new_' + filename
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('批量修改文件名完成!')
运行以上代码后,文件夹中所有文件名都会在前面添加new_
前缀。
5. 使用正则表达式修改文件名
有时候我们需要根据一定的规则来修改文件名,这时可以使用正则表达式来匹配文件名并进行修改。下面是一个示例代码,演示如何使用Python和正则表达式修改文件名:
import os
import re
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
if re.match(r'^[0-9]+_', filename):
new_filename = re.sub(r'^[0-9]+_', 'number_', filename)
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('使用正则表达式修改文件名完成!')
运行以上代码后,文件夹中所有以数字开头的文件名都会被替换为number_
开头。
6. 修改文件名的大小写
有时候我们需要将文件名的大小写进行统一,以便更好地管理文件。下面是一个示例代码,演示如何使用Python修改文件名的大小写:
import os
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
new_filename = filename.lower() # 将文件名改为小写
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('修改文件名大小写完成!')
运行以上代码后,文件夹中所有文件名都会被改为小写。
7. 删除文件名中的特定字符
有时候我们需要删除文件名中的特定字符,以便更好地清理文件名。下面是一个示例代码,演示如何使用Python删除文件名中的特定字符:
import os
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
new_filename = filename.replace('deepinout.com', '')
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('删除特定字符完成!')
运行以上代码后,文件夹中所有文件名中的deepinout.com
字符都会被删除。
8. 添加日期前缀
有时候我们需要在文件名前面添加日期前缀,以便更好地记录文件的创建日期。下面是一个示例代码,演示如何使用Python添加日期前缀:
import os
import datetime
folder_path = 'path/to/your/folder'
today = datetime.date.today()
for filename in os.listdir(folder_path):
new_filename = str(today) + '_' + filename
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('添加日期前缀完成!')
运行以上代码后,文件夹中所有文件名都会在前面添加当天日期的前缀。
9. 批量修改文件名后缀
有时候我们需要批量修改文件名的后缀,以便更好地区分文件类型。下面是一个示例代码,演示如何使用Python批量修改文件名的后缀:
import os
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
if filename.endswith('.txt'):
new_filename = filename.replace('.txt', '.doc')
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('批量修改文件名后缀完成!')
运行以上代码后,文件夹中所有以.txt
结尾的文件名都会被替换为.doc
结尾。
10. 添加随机字符串后缀
有时候我们需要在文件名后面添加一些随机字符串后缀,以便更好地区分文件。下面是一个示例代码,演示如何使用Python添加随机字符串后缀:
import os
import random
import string
folder_path = 'path/to/your/folder'
for filename in os.listdir(folder_path):
if filename.endswith('.txt'):
random_suffix = ''.join(random.choices(string.ascii_letters + string.digits, k=5))
new_filename = filename[:-4] + '_' + random_suffix + '.txt'
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print('添加随机字符串后缀完成!')
运行以上代码后,文件夹中所有以.txt
结尾的文件名都会在后面添加一个5位随机字符串后缀。
通过以上示例代码,我们可以看到使用Python修改文件名是非常简单和灵活的。无论是添加前缀、后缀,替换特定字符,批量修改文件名,还是使用正则表达式修改文件名,都可以轻松实现。