【发布时间】: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