- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章6行Python代码实现进度条效果(Progress、tqdm、alive-progress和PySimpleGUI库)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在项目开发过程中加载、启动、下载项目难免会用到进度条,如何使用Python实现进度条呢?
这里为小伙伴们分享四种Python实现进度条的库:Progress库、tqdm库、alive-progress库和PySimpleGUI库,其中前三个是文本进度条库,最后一个是可以在GUI上运行的进度条.
1、Progress库 。
Progress是一种文本进度条库,库详细说明参加GitHub.
使用库之前需要进行安装,pip指令如下所示:
1
|
pip install progressbar2
|
实现总耗时1S的进度条 ,代码如下所示:
1
2
3
4
5
6
7
8
|
import
time
import
progressbar
p
=
progressbar.ProgressBar()
N
=
10
# 加上进度,就是将range(N)放到ProgressBar()中
for
i
in
p(
range
(N)):
#每次延时0.1S
time.sleep(
0.1
)
|
效果如下所示:
还可以设置为中文提示,代码如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import
time
import
progressbar
def
custom_len(value):
# These characters take up more space
characters
=
{
'进'
:
2
,
'度'
:
2
,
}
total
=
0
for
c
in
value:
total
+
=
characters.get(c,
1
)
return
total
bar
=
progressbar.ProgressBar(
widgets
=
[
'进度: '
,
progressbar.Bar(),
' '
,
progressbar.Counter(
format
=
'%(value)02d/%(max_value)d'
),
],
len_func
=
custom_len,
)
for
i
in
bar(
range
(
10
)):
time.sleep(
0.1
)
|
效果如下所示:
2、tqdm库 。
tqdm库消耗资源很低,每次迭代大约60ns(gui = True时为80ns),并且已针对性能下降进行了单元测试。完善的ProgressBar具有800ns / iter的开销,库详细说明参加GitHub.
使用库之前需要进行安装,pip指令如下所示:
1
|
pip install tqdm
|
实现总耗时1S的进度条 ,代码如下所示:
1
2
3
4
5
6
|
import
time
from
tqdm
import
tqdm
from
tqdm._tqdm
import
trange
N
=
10
for
i
in
tqdm(
range
(N)):
time.sleep(
0.1
)
|
效果如下所示:
不仅如此, tqdm库在实现进度条的同时还可以遍历迭代的对象,做到高效率工作,例如遍历列表["a", "b", "c", "d"]的同时实现进度条,代码如下所示:
1
2
3
4
5
6
7
8
|
from
tqdm
import
tqdm
import
time
text
=
""
for
char
in
tqdm([
"a"
,
"b"
,
"c"
,
"d"
]):
time.sleep(
0.1
)
text
=
text
+
char
print
(text)
|
效果如下所示:
3、alive-progress库 。
alive-progress库是一种具有动态效果的智能进度条,库详细说明参加GitHub.
使用库之前需要进行安装,pip指令如下所示:
1
|
pip install alive
-
progress
|
实现总耗时10S的动态效果进度条 ,代码如下所示:
1
2
3
4
5
6
7
8
|
from
alive_progress
import
alive_bar
import
time
items
=
range
(
10
)
# retrieve your set of items
with alive_bar(
len
(items)) as bar:
# declare your expected total
for
item
in
items:
# iterate as usual
# process each item
bar()
# call after consuming one item
time.sleep(
1
)
|
效果如下所示:
4、PySimpleGUI库 。
PySimpleGUI库是基于Tkinter、Remi、wxPython和PyQt库GUI库,我们可以基于它实现在GUI中添加进度条,当然这只是抛砖引玉,小伙伴们可以使用自己喜爱的GUI库实现进度条设计,库详细说明参加GitHub.
使用库之前需要进行安装,pip指令如下所示:
1
|
pip install pysimplegui
|
实现总耗时10S的动态GUI效果进度条 ,代码如下所示:
1
2
3
4
5
6
|
import
PySimpleGUI as sg
import
time
items
=
range
(
10
)
for
i, item
in
enumerate
(items):
sg.one_line_progress_meter(
'Progress Meter'
, i
+
1
,
len
(items),
'-key-'
)
time.sleep(
1
)
|
效果如下所示:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/m0_38106923/article/details/103814795 。
最后此篇关于6行Python代码实现进度条效果(Progress、tqdm、alive-progress和PySimpleGUI库)的文章就讲到这里了,如果你想了解更多关于6行Python代码实现进度条效果(Progress、tqdm、alive-progress和PySimpleGUI库)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想使用 PySimpleGui 从列表动态创建单选按钮,但我在布局代码中插入循环的努力正在捕获语法错误。这可以通过 API 来完成还是需要使用 tkinter 来完成?我的列表是通过网络驱动器的目标
我制作了一个简单的 Python3 程序,它使用 PySimpleGUI 创建一个 Windows-GUI 程序。该程序还包含一张图片 CAESAR.png,它与我的 python 代码位于同一文件夹
只是试图显示一个简单的窗口,我收到此错误代码: AttributeError:模块“PySimpleGUI”没有属性“Popup” import PySimpleGUI as sg sg.Popup(
PySimpleGUI 的新手。 我有一个多行输入框: layout1 = [[sg.Multiline(size=(45,5),key='-IN-')],... window1 =
前一阵,我在为朋友编写一个源代码监控程序的时候,发现了一个 Python 领域非常简单好用的图形界面库。 说起图形界面库,你可能会想到 TkInter、PyQt、PyGUI 等流行的图形界面库,我
PySimpleGUI python 库是否支持 RTL 对齐? 我想从右到左对齐阿拉伯文本: 代码: sg.Text("احب الطعام", font='12', size=(15, 1), b
我正在创建一个文本框,如下所示: sg.Text(size=(57, 10), background_color='white', text_color='red',
我正在使用 pysimplegui 构建一个简单的 GUI,并希望右对齐框架内的按钮。我找到了有关如何使用文本而不是按钮执行此操作的详细信息。 例如,我希望下面的按钮能够捕捉到框架的右侧,并且周围有凹
我正在尝试创建一个大时钟作为图形用户界面测试项目。该窗口应该在没有任何输入的情况下运行,并且只显示时间,同时每秒更新 10 次。无论我到目前为止尝试了什么,我都无法让文本更新到我当前的时间。 这是我的
我正在从日志文件中填充 pySimpleGui 表。大多数日志是单行,但存在一些多行文本。布局中的表格定义如下[sg.Table(key="mainTable",values=data, headin
我正在开发一个图像查看器,但我注意到在图像查看器中,当要显示的链接太长时,它会被切断。我怎样才能修改这段代码,以便如果字符串太长,它会在新行上打印它。我正在遵循指南,因此您可以查看 https://r
我正在尝试仅浏览 Excel 文件,但如何限制 PySimpleGUI 浏览按钮中的文件类型。 最佳答案 layout = [[sg.In() ,sg.FileBrowse(file_types=(
我想使用 pysimplegui 打印类似的输出 import PySimpleGUI as sg print("The age of the universe is", age_of_univers
import PySimpleGUI as sg import os layout = [[sg.Text('Velg mappe som skal tas backup av og hvor
感谢您阅读本文。 我正在制作一个简单的动画,该动画基于 PysimpleGUI 食谱中的两个示例之一。当然,附加的代码并没有做任何事情。我查看了许多示例,试图找出如何更新 Canvas ,但没有成功。
我已经创建了一个 Python 代码的 GUI。我在窗口中创建了一些元素。我希望元素能够响应窗口大小。我在窗口对象中添加了一个 resizable=true 属性,但它只会使应用程序窗口响应而不是窗口
我想在应用程序中添加一项功能,当单击加号按钮时将创建新的输入字段。我现在正在使用这段代码: import PySimpleGUI as sg PLUS_ICO = b'iVBORw0KGgoAAAAN
我正在尝试在 GUI 中运行一些代码,在我获得一些文本输入后运行一个函数。然而,我尝试运行的功能实际上非常复杂,因此当它运行时,它会使整个图形用户界面卡住 10-15 秒,然后再继续。 我怎样才能让它
我想创建一个 PySimpleGui 表,其中可以仅使用鼠标选择多行(对于 python3 中的应用程序)。pysimplegui 表允许像往常一样通过 Ctrl 和 Shift 选择各种行,但我只需
我正在关注 PySimpleGUI文档并在我进行时进行我自己的编辑。我对它很陌生,并且有使用 Tkinter 的经验。 Tkinter 中有一个文本框,您可以使用代码 Text(window, wid
我是一名优秀的程序员,十分优秀!