在python中,重定向到文件的打印有时会导致打印输出不完整
我想将列表保存到一个文件中,所以我循环浏览它并将其写入文件。一切都很好。但有时(列表?)列表不是完全写入的,它在项目中间停止渲染。不会引发任何错误,它将以静默方式继续执行其余代码。 我尝试了几种编写方法,python的几种版本(2.4、2.5、2.7)都是一样的。它有时有效,有时无效。当它打印到终端窗口而不是文件时,它工作正常,没有出现故障。我错过什么了吗 就是这个在python中,重定向到文件的打印有时会导致打印输出不完整,python,file,Python,File,我想将列表保存到一个文件中,所以我循环浏览它并将其写入文件。一切都很好。但有时(列表?)列表不是完全写入的,它在项目中间停止渲染。不会引发任何错误,它将以静默方式继续执行其余代码。 我尝试了几种编写方法,python的几种版本(2.4、2.5、2.7)都是一样的。它有时有效,有时无效。当它打印到终端窗口而不是文件时,它工作正常,没有出现故障。我错过什么了吗 就是这个 ... from bpnn import * ... # save input weights for later
...
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是此处的神经网络模块:
如果使用以下方法,问题是否仍然存在:
with open("c:/files/wtsi.txt", "w") as writewtsi:
for i in range(net.ni):
print>>writewtsi, net.wi[i]
完成所有写入操作后关闭该文件,以确保所有写入缓存都通过以下方式刷新到驱动器:
writewtsi.close()
使用
像这样:
...
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()
或者,您可以使用第三个参数open()取消缓冲文件:
是的,就是这样。flush()和close()都能很好地完成这项工作。非常感谢。是的,就是这样。flush()和close()都能很好地完成这项工作。谢谢。
...
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()
...
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]