要求是这样,Python3.x
我有一组txt,文件都很大,开头结尾有内容需要删除,同目录下有txt文件a.txt,里面放置需要删除的内容,开头一行,结尾一行,那组txt删除的开头内容后面有用<>括起的字符串,将当前txt名修改为这串字符
假设原文件名是:1.txt
其开头一行是:21312435<example>34rdrt7654
需要一个函数
import re,os
把这段代码保存下来,放到你txt文件所在的目录,运行之。因为没有见到文件,为了保险起见,先用复制出一两个文件测试一下!!!删除后是不进回收站的!如果你看得懂,就自行修改吧。
有没有简单点的方案,要删除的其实很少,拷贝一遍处理,1G多的txt让我如何是好
txt的文件名是从1到1000多,数字有中断,文件名固定在开头3~4行
追答1G多的,早说这么大,我就不费这劲写了!总之,文件名不是问题,这代码里面有,就是re正则。文件太大,抱歉我帮不上忙了。你需要找专门处理大文件的方法。另寻高明吧。
追问额,有没有方法能将第一行和最后两行替换成空白,正则改名的方式我能写
追答用r+模式打开文件,seek调整位置,write覆盖成空格。注意计算需要覆盖的字符串长度。你先声明多大,写代码才有的放矢。如果只是为了美观,建议还是不要调整了。毕竟对数据心知肚明,处理用到的时候忽略掉就可以了。
追问我用os.rename能够成功重命名但是文件大小会变为一是怎么回事
追答os.rename('oldname.txt','newname.txt')这样用。是不是用错了?另外上面说的方法举例:
open('a.txt','w').write('123456789')额,我是这样用的,rename后txt没有大小,而且文件名乱码,print发现是gbk显示异常,我把它转换成UTF8,然后rename,依旧显示异常,大小几乎没有,中文的重命名问题?
追答估计是。编码问题decode encode一通试试吧,情况也是非常多的,不过总有一个方法会成功的。
我有一组txt,文件都很大,开头结尾有内容需要删除,那组txt删除的开头内容后面有用括起的字符串,将当前txt名修改为这串字符,同目录下有txt文件a.txt,里面放置需要删除的内容,开头一行,结尾一行
拜托了