經常在處理txt文件的時候,需要按行或者按列來合並txt文件,記錄下來,方便直接copy。
1. 按行合並
import os, sys file1path = 'test.txt' file2path = 'senet.txt' file_1 = open(file1path,'r') file_2 = open(file2path,'r') list1 = [] for line in file_1.readlines(): ss = line.strip() list1.append(ss) file_1.close() list2 = [] for line in file_2.readlines(): ss = line.strip() list2.append(ss) file_2.close() file_new = open('result.txt','w') for i in range(len(list1)): sline = list1[i] + ' ' + list2[i] file_new.write(sline+'\n') file_new.close()
2. 按列合並 (這里先把所有的txt路徑寫到一個txt文件中,通過按行讀這個txt中把對應的信息寫入到總的txt中)
#add many .txt info into a .txt #get many .txt to a listfile, and read this listfile to add all .txt into a .txt import os import sys import shutil rectroipath = '/ssd/wangmaorui/data/RectRoi' if __name__=="__main__": rectroioldpath = os.path.join(rectroipath,'rectroi.txt') rectroinewpath = os.path.join(rectroipath,'rectroiall.txt') lblFile = open(rectroioldpath,'r') frect = open(rectroinewpath,'w') lblSrcFLines = lblFile.readlines() for line in lblSrcFLines: srcLine = line.strip().split() # space split sline = srcLine[0].strip() froi = open(sline,'r') roilines = froi.readlines() for rline in roilines: frect.write(rline) froi.close() frect.close() lblFile.close()