我正在尝试从文件夹中的每个文件中提取特定行。我写的代码是打开每个文件并打开新的输出文件,尽管它在每个文件中循环并在某些情况下输出两次数据。我在所有文件之间的大约800,000行中有15个文件。
`import os
for filename in os.listdir("path"):
fin=open("path\%s" %filename)
#print fin
fout=open("newdata.txt","w")
#print fout
l=""
for line in fin:
p=line.strip().split("\t")
if p[3]=="Cycle" and p[4]=="Protein":
l+=line
fout.write(l)
#else:pass
# fin.close()
# fout.close()`
答案 0 :(得分:1)
你在循环中以'w'模式打开文件,所以对于每个新文件,它将从头开始输出文件,你应该在循环外打开它或使用'w +'模式