首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查看当前在Python中更新的.txt文件

查看当前在Python中更新的.txt文件
EN

Stack Overflow用户
提问于 2017-04-18 15:38:25
回答 1查看 31关注 0票数 0

我正在运行一个试图解决非线性方程的程序。这是一个黑盒的情况,所以我不会深入细节。我基本上给程序提供了一些值,它输出了5个数字,我将后者与一组标准进行比较,它们需要匹配到一定的容差。我不断地给它提供新的值,以搜索输入的值,这些输入值给我提供了符合条件的5个数字。

所以,长话短说,我不断地产生5个数字,我希望这些数字能收敛到我的标准。我目前正在以A、B、C、D、E格式输出每次迭代的5个数字,并写入输出txt文件。但是,在程序完成之前(如果它完成了!),我看不到A、B、C、D或E是如何收敛的,因为我的txt文件是空的,直到我.close()它。有没有其他方法可以让我看到这些值是如何以另一种方式变化的?如果我的5个数字到处都是,没有收敛到任何东西,我需要考虑一种不同的方法。

EN

回答 1

Stack Overflow用户

发布于 2017-04-18 16:08:59

您有两个选择:

1-在写入每一行后flush缓冲区:

代码语言:javascript
复制
from time import sleep

f = open('testfile.txt', 'w')
while True:
    f.write("A, B, C, D, E\n")
    f.flush()
    sleep(1)

2-或者,当您使用文本文件时,可以将其作为行缓冲打开。有关更多详细信息,请参阅open上的文档。

您需要使用buffered=1进行行缓冲:

代码语言:javascript
复制
from time import sleep

f = open('testfile.txt', 'w', buffering=1)
while True:
    f.write("A, B, C, D, E\n")
    sleep(1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43466356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档