我试图从文件夹中的每个文件中提取一条特定的行。我编写的代码是打开每个文件并打开新的输出文件,尽管它在每个文件中循环并在某些情况下输出两次数据。我有15个文件,大约80万行之间的所有文件。
`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()`发布于 2016-03-16 18:26:05
您在循环中以'w‘模式打开文件,因此对于每一个新文件,它将从头开始输出文件,您应该在循环之外打开它,或者使用'w+’模式。
https://stackoverflow.com/questions/36043951
复制相似问题