我想将列表保存到文件中,因此我循环浏览并将其写入文件。一切安好。但有时(!?!?)列表不是完全写的,它会在项目中间停止渲染。不会引发任何错误,它会以静默方式继续执行其余代码。 我已经尝试了几种方法来编写它,几个版本的python(2.4,2.5,2.7),它们都是一样的。它有时工作,有时不工作。当它打印到终端窗口而不是文件时,它正常工作而没有毛刺。我错过了什么吗?
这就是它
...
from bpnn import *
...
# save input weights for later use:
writewtsi = open("c:/files/wtsi.txt", "w")
for i in range(net.ni):
print>>writewtsi, net.wi[i]
bpnn是来自这里的神经网络模块: http://python.ca/nas/python/bpnn.py
答案 0 :(得分:2)
完成所有写操作后关闭文件,以确保将任何写缓存刷新到驱动器:
writewtsi.close()
答案 1 :(得分:0)
如果您使用以下问题,问题是否仍然存在:
with open("c:/files/wtsi.txt", "w") as writewtsi:
for i in range(net.ni):
print>>writewtsi, net.wi[i]
答案 2 :(得分:0)
使用
.flush()
像这样:
...
from bpnn import *
...
# save input weights for later use:
writewtsi = open("c:/files/wtsi.txt", "w")
for i in range(net.ni):
print>>writewtsi, net.wi[i]
writewtsi.flush()
或者您可以使用第3个参数使文件无缓冲打开():
...
from bpnn import *
...
# save input weights for later use:
writewtsi = open("c:/files/wtsi.txt", "w", 0)
for i in range(net.ni):
print>>writewtsi, net.wi[i]