【问题标题】:How does progressbar work in Python? [duplicate]进度条在 Python 中是如何工作的? [复制]
【发布时间】:2018-04-10 14:29:59
【问题描述】:

首先,对不起我的英语,它不是我的母语。 我到处搜索,但我没有找到任何东西...... 我想知道进度条在 python 中是如何工作的,我看过一些“加载动画”的例子,我做了一个,但是例如,如果有一个文件传输到某个地方,我怎么能链接它们两个所以栏进度将显示真实的文件加载? 现在我正在做一个“字典”程序,它创建一个密码组合的文本文件,我不知道如何制作一个显示进程进度的进度条...... 这是代码:

import os,itertools

os.system('touch wordlist.txt')
file= open("wordlist.txt", "w")
for n in range(minlenght,maxlength+1):
    for xs in itertools.product(caracters, repeat=n):
        word=''.join(xs)
        file.write(''.join(xs)+"\n")

提前致谢。

【问题讨论】:

  • 您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只会在发布者已经尝试自己解决问题时提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出以及您实际获得的输出(控制台输出、回溯等)。您提供的详细信息越多,您可能收到的答案就越多。
  • 没关系,你的英语很好,但你需要准确解释你想要做什么(这是一个控制台应用程序吗?一个 GUI?我们无法读懂你的想法。还有很多如果您在网上搜索时制作不同类型的进度条的示例。因此,您必须实际尝试一些事情并解释您在尝试解决问题时遇到了哪些具体问题,或者甚至无法知道从哪里开始提供帮助。跨度>
  • @Iguananaut 对不起,你是对的,应该更准确。我只是想知道终端界面中的进度条是如何制作的,而不是要求别人为我编写代码,只是我没有看到进度条的动画和完成的动作之间的联系。我不是要一门课程,只是为了一点解释,这样我就可以理解在任何情况下我将如何使用它。如果您真的没有看到我想要回答的内容,我会尝试用我的程序更新一个示例。谢谢
  • 如果您更新了您的问题以展示您遇到的问题,那将是最好的。
  • 使用print(x, end='\r')\r 意味着打印返回到当前行的开头,而不是转到下一行的开头,因此下一次打印将打印“超过”这一行。试试for i in range(5): print('-'*i, end= \r'); time.sleep(1) 之类的东西,自己看看吧

标签: python python-3.x


【解决方案1】:

尝试在https://pythonprogramming.net/progress-bar-pyqt-tutorial/ 中学习本教程

您可以在一个简单的应用程序中逐步学习进度条的使用,使用pyQt库开发,在下载方法中您可以使用您的代码

【讨论】:

  • 感谢@Guido 这对我帮助很大,我想我现在知道该怎么做了
【解决方案2】:

我终于做到了,感谢所有帮助过我的人,如果其他人正在尝试这样做,我是如何做到的:
我使用了非常容易使用的进度模块。
在我的示例中,我计算了在名为可能性的变量中将在文件中写入多少行,并将其添加到我的代码中:

import os, itertools
from progress import IncrementalBar

IncrementalBar = IncrementalBar('Processing', max=possibilities)
#IncrementalBar is a type of loading animation that reach "possibilities"

os.system('touch '+filename+'.txt')
file= open(filename+".txt", "w")
for n in range(minlength,maxlength+1):
    for xs in itertools.product(caracters, repeat=n):
        word=''.join(xs)
        IncrementalBar.next()
        #Each time a line is added, the loading animations get 1 point until she reach "possibilities"
        file.write(''.join(xs)+"\n")
IncrementalBar.finish() #Here the load animation stop
file.close()

【讨论】:

    猜你喜欢
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 2016-12-01
    • 2011-04-26
    • 1970-01-01
    • 2016-02-29
    • 2019-11-09
    相关资源
    最近更新 更多