在Python中,你可以使用os
模块来遍历文件夹中的文件,并使用os.rename()
函数来重命名这些文件。以下是一个简单的示例,该示例将当前目录(或指定目录)中的所有.txt
文件的扩展名更改为.log
:
python复制代码
import os | |
def rename_files_in_dir(directory, old_extension, new_extension): | |
""" | |
重命名指定目录下的所有文件,将它们的扩展名从old_extension更改为new_extension | |
参数: | |
directory (str): 要处理的目录路径 | |
old_extension (str): 原始文件扩展名(例如 ".txt") | |
new_extension (str): 新文件扩展名(例如 ".log") | |
""" | |
# 确保扩展名以点开头 | |
if not old_extension.startswith('.'): | |
old_extension = '.' + old_extension | |
if not new_extension.startswith('.'): | |
new_extension = '.' + new_extension | |
# 遍历目录中的所有文件 | |
for filename in os.listdir(directory): | |
# 检查文件扩展名是否匹配 | |
if filename.endswith(old_extension): | |
# 构建新的文件名 | |
new_filename = filename.replace(old_extension, new_extension) | |
# 获取文件的完整路径 | |
old_file_path = os.path.join(directory, filename) | |
new_file_path = os.path.join(directory, new_filename) | |
# 重命名文件 | |
os.rename(old_file_path, new_file_path) | |
print(f"Renamed '{old_file_path}' to '{new_file_path}'") | |
# 使用函数,例如将当前目录下的所有.txt文件重命名为.log文件 | |
rename_files_in_dir('.', '.txt', '.log') |
注意:
- 这个脚本会重命名指定目录下的所有匹配的文件。请确保在运行之前备份你的数据,以防万一。
- 这个脚本只会重命名文件,不会递归地处理子目录中的文件。如果你需要处理子目录中的文件,你需要递归地遍历目录。
- 如果在重命名过程中出现同名文件冲突,
os.rename()
函数会抛出FileExistsError
异常。你可以添加异常处理来避免这种情况。