Python批量修改文件名

Python批量修改文件名,第1张

概述以修改100个txt文件为例:创建出这100个示例文件:importosimporttimedefwrite_file():'''批量创建文件'''foriinrange(1,100):withopen(f"e://Python/文件 *** 作/wenjian/{i}.txt","w")asf:f.write 以修改100个txt文件为例:

创建出这100个示例文件:

import osimport timedef 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 osimport repattern = 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("已完成!")
总结

以上是内存溢出为你收集整理的Python批量修改文件名全部内容,希望文章能够帮你解决Python批量修改文件名所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1186724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存