使用FileInput()函数批量重命名文件的方法
发布时间:2024-01-05 20:30:58
使用FileInput()函数可以批量重命名文件的方法如下:
1. 导入必要的模块
import os from fileinput import FileInput
2. 定义一个批量重命名的函数
def rename_files(file_pattern, replace_str):
with FileInput(file_pattern, inplace=True, backup='.bak') as f:
for line in f:
print(line.replace(replace_str), end='')
3. 使用示例
假设你有一个文件夹包含多个文件,这些文件都以 .txt 结尾,并且你想要将文件名中的 "old" 字符串替换为 "new"。
# 定义文件夹路径和要替换的字符串
folder_path = '/path/to/folder/'
replace_str = 'old'
new_str = 'new'
# 获取文件夹中所有以 .txt 结尾的文件
files = [f for f in os.listdir(folder_path) if f.endswith('.txt')]
# 遍历文件列表,使用 FileInput() 函数进行重命名
for file in files:
file_path = os.path.join(folder_path, file)
rename_files(file_path, replace_str, new_str)
在上述例子中,folder_path 是包含要重命名文件的文件夹的路径,replace_str 是要被替换的原始字符串,new_str 是替换后的新字符串。
运行该代码后,该文件夹中所有以 .txt 结尾的文件的 "old" 字符串将被替换为 "new"。例如,文件名 "example_old.txt" 将被重命名为 "example_new.txt"。原始文件会被备份为同名文件,但后缀为 ".bak"(可通过参数 backup='.bak' 调整备份文件的后缀)。
这就是使用FileInput()函数批量重命名文件的方法,它可以方便地在代码中批量修改文件名而无需手动重命名每个文件。
