Python写入多个文件将数据写入上一个文件
我有二十份档案。我一个接一个地读,数一数,然后把答案写在另一个文件里。如果我手动命名每个文件(例如run40.txt),它工作得很好 但是我在循环中读取文件。它仅适用于第一个文件,但对于其余文件,它开始将以前文件的答案添加到当前文件Python写入多个文件将数据写入上一个文件,python,python-2.7,Python,Python 2.7,我有二十份档案。我一个接一个地读,数一数,然后把答案写在另一个文件里。如果我手动命名每个文件(例如run40.txt),它工作得很好 但是我在循环中读取文件。它仅适用于第一个文件,但对于其余文件,它开始将以前文件的答案添加到当前文件 #!/usr/bin python import glob import sys from collections import Counter import time c=Counter() for file in glob.glob("*.txt"):
#!/usr/bin python
import glob
import sys
from collections import Counter
import time
c=Counter()
for file in glob.glob("*.txt"):
print file
myfile = open(file, "r")
for line in myfile:
c.update(line.split())
for item in c.items():
outfile= open(file + ".out", 'a+')
print >> outfile, "{}\t{}".format(*item)
outfile.close()
myfile.close()
为什么要将以前关闭的文件的输出添加到新文件?首先,在开始处理下一个文件之前,必须清除计数器。其次,不需要为每个项目打开输出文件。使用
myfile
@DYZ同时打开它,非常感谢它的完成,我在print>>输出文件“{}\t{}”.format(*item)
之后添加了d`c.clear()。计数器有问题,需要清除它。