os.listdir没有读取所有文件

时间:2016-03-16 18:22:35

标签: python operating-system listdir

我正在尝试从文件夹中的每个文件中提取特定行。我写的代码是打开每个文件并打开新的输出文件,尽管它在每个文件中循环并在某些情况下输出两次数据。我在所有文件之间的大约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()`

1 个答案:

答案 0 :(得分:1)

你在循环中以'w'模式打开文件,所以对于每个新文件,它将从头开始输出文件,你应该在循环外打开它或使用'w +'模式