以修改100个txt文件为例:
创建出这100个示例文件:
import os
import time
def write_file():
'''批量创建文件'''
for i in range(1,100):
with open(f"e://Python/文件操作/wenjian/{i}.txt","w") as f:
f.write("我爱你,中国!")
def zhj():
'''打开原来的文件,追加内容'''
file_path = 'e://Python/文件操作/wenjian/'
name_ls = os.listdir(file_path)
for j in name_ls:
with open(file_path+f"{j}","a") as fi:
fi.write('------爱国者。')
if __name__ == "__main__":
write_file()
print("已经创建完毕!")
time.sleep(3)
zhj()
print("追加完毕!")
假如我们要保证文件名不重复的前提下,在这100个文件的前面增加“[高二3班]"几个字:
import os
import re
pattern = re.compile(r'.*\.txt') #正则匹配文件,即要重命名哪些文件
num = (x for x in range(1,200)) #生成式,避免生成重复的文件,此处的range范围应大于要修改的文件数量
for path,dirs,files in os.walk("E://Python/文件操作/"):
#os.walk主要用来遍历一个目录内各个子目录和子文件,返回一个生成式,元素分别是文件的路径,文件夹名称,完整文件名。
for name in files:
file_path = os.path.join(path,name)
matching = pattern.findall(file_path)
#print(file_path)
#print(os.path.split(file_path))
if matching:
s = "[高二3班]"
for i in matching:
y = str(next(num))
os.rename(file_path, os.path.split(file_path)[-2]+"/"+s+y+".txt") #此处的"/"必须要加,否则就会创建到上一层目录
print("已完成!")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。