Python修改文件名
在日常的工作和生活中,经常会遇到需要批量修改文件名的情况,例如对照片、文档等进行整理或重命名。Python作为一种强大的编程语言,提供了丰富的文件操作功能,可以方便地实现文件名的修改操作。本文将介绍如何使用Python来批量修改文件名,帮助您更高效地管理和整理文件。
1. os 模块
Python中的标准库os模块提供了大量与操作系统交互的函数,包括文件操作。我们可以使用os模块来实现文件名的修改。下面是一个简单的示例代码,通过os模块将文件名中的”deepin”替换为”out”。
import os
folder_path = "./files/"
for filename in os.listdir(folder_path):
if "deepin" in filename:
new_filename = filename.replace("deepin", "out")
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print("文件名修改完成!")
运行结果:
文件名修改完成!
在示例代码中,首先使用os.listdir()函数列出指定文件夹中的所有文件名,然后遍历每个文件名,检查是否包含”deepin”,如果包含则使用replace()函数替换为”out”,最后使用os.rename()函数将原文件名修改为新文件名。这样就实现了将文件名中的特定字符串替换的功能。
2. pathlib 模块
Python 3.4引入了pathlib模块,提供了更简洁和面向对象的方式来处理文件路径。我们可以使用pathlib模块来操作文件和文件夹,包括文件名的修改。下面是一个示例代码,实现将文件扩展名改为大写。
from pathlib import Path
folder_path = Path("./files/")
for file_path in folder_path.iterdir():
if file_path.is_file():
new_file_path = file_path.with_suffix(file_path.suffix.upper())
file_path.rename(new_file_path)
print("文件扩展名修改完成!")
运行结果:
文件扩展名修改完成!
在示例代码中,首先使用Path对象表示文件夹路径,然后使用iterdir()方法遍历文件夹中的所有文件和文件夹,通过is_file()方法判断是否为文件,然后使用with_suffix()方法将文件扩展名改为大写,最后使用rename()方法将原文件名修改为新文件名。这样就实现了将文件扩展名改为大写的功能。
3. shutil 模块
除了os模块和pathlib模块外,Python还提供了shutil模块用于高级文件操作,包括文件的复制、移动、删除等。我们可以利用shutil模块实现文件名的复制或移动。下面是一个示例代码,将指定文件夹中的文件名添加前缀”new_”。
import shutil
folder_path = "./files/"
for filename in os.listdir(folder_path):
new_filename = "new_" + filename
shutil.move(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
print("文件名添加前缀完成!")
运行结果:
文件名添加前缀完成!
在示例代码中,首先遍历指定文件夹中的所有文件名,然后将文件名添加前缀”new_”,最后使用shutil.move()函数将原文件名修改为新文件名。这样就实现了给文件名添加前缀的功能。
4. 扩展应用
除了上述示例代码中的功能,我们还可以根据具体需求实现更多复杂的文件名修改操作,例如批量替换特定字符串、按规则重命名文件等。通过结合os、pathlib和shutil等模块的功能,可以实现各种文件名修改操作,提高工作效率和准确性。
总结一下,本文介绍了如何使用Python来批量修改文件名,包括使用os模块、pathlib模块和shutil模块的示例代码,以及对应的运行结果。