需要合并文件如图:
文件内容如下:
存在特殊情况(文件可能存在空),需要写入"0 0 0 0":
import os
flie_path="/home/"#需要合并的txt文件的绝对路径,由于要排序,后面会加上.txt
path_list=os.listdir(flie_path)
path_name=[]
for i in path_list:
path_name.append(i.split(".")[0])
#文件读入时是乱序的,需要按0001.txt,0002.txt顺序写入,sort排序
path_name.sort()
i=1
for i in range(len(path_name)):
path_name1=flie_path+path_name[i]+'.txt'
print path_name1
with open(path_name1) as f:
#文件为空的情况,写入"0 0 0 0",并转行
if not os.path.getsize(path_name1):
with open("/home/new.txt",'a+') as mom:#新的txt文件路径
line="0 0 0 0"
mom.write(line)
mom.write('\r\n')
#文件不为空则写入读取到的内容
for line in f.readlines():
with open("/home/new.txt",'a+') as mom:/home/new.txt
mom.write(line)
os.path.getsize()返回文件的字节数,如果为0,则代表空
#如果不是为1,也就是为0的时候
if not os.path.getsize(path_name1):
最后结果(如果不注意文件为空的情况,则会出现合并后新文件行数少于旧的文件数情况)