Python批量修改文件名
2021/5/4 14:25:17
本文主要是介绍Python批量修改文件名,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
以修改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("已完成!")
这篇关于Python批量修改文件名的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器