python怎么用批量删除txt中固定内容
要求是这样,Python3.x我有一组txt,文件都很大,开头结尾有内容需要删除,同目录下有txt文件a.txt,里面放置需要删除的内容,开头一行,结尾一行,那组txt删...
要求是这样,Python3.x
我有一组txt,文件都很大,开头结尾有内容需要删除,同目录下有txt文件a.txt,里面放置需要删除的内容,开头一行,结尾一行,那组txt删除的开头内容后面有用<>括起的字符串,将当前txt名修改为这串字符 展开
我有一组txt,文件都很大,开头结尾有内容需要删除,同目录下有txt文件a.txt,里面放置需要删除的内容,开头一行,结尾一行,那组txt删除的开头内容后面有用<>括起的字符串,将当前txt名修改为这串字符 展开
2个回答
展开全部
假设原文件名是:1.txt
其开头一行是:21312435<example>34rdrt7654
需要一个函数
import re,os
def change_rename(filename="1.txt",deleted="a.txt"):
lines=open(filename,'r').readlines()
newname=re.findall(r'<[\w]*>',lines[0])[0][1:-1] #get new file name from line 1
open(newname,'w').write(''.join(lines[1:-1])) #write to new file
open(deleted,'a').write(lines[0]+lines[-1]) #save deleted info
os.remove(filename) #delete old file
#接下里批量处理
oldfiles=os.listdir('.')
for i in oldfiles:
if i!='a.txt':
change_rename(i)
把这段代码保存下来,放到你txt文件所在的目录,运行之。因为没有见到文件,为了保险起见,先用复制出一两个文件测试一下!!!删除后是不进回收站的!如果你看得懂,就自行修改吧。
更多追问追答
追问
有没有简单点的方案,要删除的其实很少,拷贝一遍处理,1G多的txt让我如何是好
txt的文件名是从1到1000多,数字有中断,文件名固定在开头3~4行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询