【问题标题】:Updating the txt file to check while python is saving the data into it更新 txt 文件以在 python 将数据保存到其中时进行检查
【发布时间】:2018-10-25 15:46:09
【问题描述】:

在像MCMC 这样的一些代码中,它会持续几个小时甚至几天才能完成。 现在我想知道如何在 Python 运行时查看保存在 text file 中的输出。因为在我的代码中检查 txt file 中的整个输出只有在完成 Python 的工作后才有可能

def ....():
   return
def ....():
   return
......
with open('outputs/p.txt', 'w') as f:
 .....
   f.write("{0}\t{1}\n".format(A,B))

使用此代码,我只能在完成 python 运行后才能看到输出。但是,如果我们可以随时检查它,那将是有益的。

【问题讨论】:

  • 如果你的程序是多线程的,一个线程将等待输入,另一个线程将完成保存工作。当您输入诸如“show”之类的字符串时,延迟保存并关闭文件,然后通过附加重新打开文件,然后继续保存您离开的地方。这应该可以让您查看已保存的内容
  • @SPYBUG96 老实说我不知道​​怎么做。但这会使代码变慢吗?
  • 这不应该是因为您将在两个不同的内核上运行,但是当您进行显示时,它会将程序的完成延迟几秒钟,一个更简单的解决方案是让 python代码将所有内容打印到控制台或在每次写入后关闭文件并使用追加重新打开它,两者都会减慢 python 程序
  • @SPYBUG96 谢谢。添加f.close 后,我每隔几秒就可以看到输出。
  • 很高兴它对你有用!

标签: python text output saving-data


【解决方案1】:
#the a+ appends the file at the end with your new data, or creates the file if it doesn't exist
with open('outputs/p.txt', 'a+') as f:

    f.write("{0}\t{1}\n".format(A,B))

    f.close()

【讨论】:

  • ww 和 a+ 之间有什么不同。对我来说,我认为两者都是相同的
  • 谢谢。当然,我看到f.close() 使代码变慢了一点。还好。另一件事。我想在新帖子中提问。只是在这里想知道:你知道关于暂停和恢复代码的任何事情吗?完全类似于internet download manager软件,我们可以在打开PC或崩溃Windows等后开始下载
  • @MaY 我不需要,我从来不需要做那样的事情
猜你喜欢
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多