工作的时候,需要重复批量处理TXT文本数据,当需要处理的文件太多时就有点费时间,在网上看了些代码,结合自己浅薄的理解,勉强实现了,做个记录,等以后再来看看有没有再接着改善的机会。
import os
import fileinput #提供几种办法,这个库不一定需要
for i in os.listdir('文本路径'): #例举出文件夹下面所有的文件名
domain = os.path.abspath('文本路径')
file = os.path.join(domain,i) #把文件名和文件路径放在一起方便后面用open去打开
'''
第一种方法:打开文件,从第m行开始到第n行重新写入
'''
lines = open(file).readlines()
open(file,'w').writelines(lines[m:n])
'''
第二种方法:先删除前面再删除后面,分成两个模块,两个模块可以用不同的办法来实现,我这里用两种方法
'''
a = 0
while(a<m):
for line in fileinput.input(file,inplace = 1): #删除开头几行,用fileinput函数,重复打开,每次替换第一行。
if not fileinput.isfirstline():
print(line.replace("\n",""))
a += 1
file_old = open(file)
lines = file_old.readlines() #输出的是个数组,
# print(lines) #可以看看输出啥,决定自己要删除几行
del lines[-1] #-1代表删除最后一行,
del lines[-1] #txt文件一般后面都有几行换行符,可以多删几行
file_old.close()
file_new = open(file,'w')
file_new.write('',join(lines))
file_new.close()