【问题标题】:Progress bar for writing text to a file (=how much time it takes to write to a file)将文本写入文件的进度条(=写入文件所需的时间)
【发布时间】:2020-01-13 12:03:25
【问题描述】:

我在 Windows 10 和 VSCode 上使用 Python 3.8.1。

我有一个简单的程序,可以将大量文本写入 .txt 文件。 .txt 文件的最终文件大小约为 7MB,因此将文本写入文件需要相当长的时间。

我已阅读有关进度条的其他问题,但如果我理解正确,它们需要您知道操作需要多少时间,并且您必须自己确定进度条的估计时间,而不是进度条本身来 自动计算出一个操作需要多长时间。 最重要的是,他们中的许多人专注于 for/while 循环,而我的脚本没有循环,它只是在文件中写入文本:

my_text = "Hello World, Hello World, Hello World"

text_file = open("Output.txt", "w", encoding = 'utf-8')
text_file.write(my_text)
text_file.close()

我的问题:是否可以为进度条编写代码,找出我的程序以秒为单位写入文本文件所需的时间,并以百分比和剩余时间在进度条中显示?

(e.g. Progress 40%/100% ======---------, 3.5MB/8MB written to file, 44 seconds remaining)

如果这不可能,我如何确定将文本写入文件需要多长时间?是否有为此编写单独程序的脚本或包?

【问题讨论】:

  • 如果您想为文件计时,您可以随时使用时间模块。但是,如果您确实需要进度条,那么您可以随时寻找外部 python 包。
  • 看看 tqdm 库 github.com/tqdm/tqdm 。可能对你有帮助
  • 谢谢!我对这些包很熟悉,并且仍然想回答我关于没有 for 或 while 循环的自动计时和使用的问题“是否可以为 AUTOMATICALLY 的进度条编写代码b> 找出我的程序以秒为单位写入文本文件需要多长时间,并以百分比和剩余时间在进度条中显示?” sleep 是自动工作还是我需要手动确定计时(比如“这个操作需要 50 秒,所以我需要将睡眠设置为值 X”)?

标签: python python-3.x progress-bar file-writing


【解决方案1】:

这可能会对您有所帮助。答案中概述了各种方法。

Python Progress Bar

【讨论】:

  • 谢谢。我看到了那个页面,但没有找到我的问题的答案。你知道的答案“是否可以为进度条编写代码,自动找出我的程序在几秒钟内写入文本文件所需的时间,并以百分比和百分比显示在进度条中剩余时间?”
  • 那么,这里的问题是计算一次写操作需要多少时间?
  • 是的,还会在进度条中以百分比和剩余时间显示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-18
相关资源
最近更新 更多