成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

分享:四款 Python 超酷終端進度條

開發 后端
在本教程中,我們將了解如何使用 Python 在終端中創建進度條。

想象一下,在您使用 Python 開發了一個腳本,在下載某些文件的時候你一定會不時看看進度條,在寫代碼的時候使用進度條可以便捷的觀察任務處理情況,或者還需要多久才能完成。

如果有加載屏幕或進度條指示剩余時間或使用百分比的剩余進度,就安心多了。我們可以使用 Python 來編寫進度條。在本教程中,我們將了解如何使用 Python 在終端中創建進度條。

先決條件

對于本教程,我們將使用 Ubuntu 來運行我們的腳本。Ubuntu 是基于 Linux 的操作系統。在 Ubuntu 中已經安裝了 Python,因此無需再次安裝它們。遵循本教程,任何基于 Debian 的操作系統都不會出現任何問題。如果您使用的是 Windows 操作系統,請確保您已安裝 Python 并設置了環境變量,因為您需要從終端運行腳本。

使用 Python 的進度條

Python 是一種高級編程語言。并且可以用來實現幾乎任何事情。Python 中有許多很酷的庫來創建進度條。在本教程中,我們將看到其中的一些:

  • tqdm
  • alive_progress
  • halo
  • yaspin

1、TQDM

Tqdm 是一個易于使用的庫。特別是對于循環。它給出了循環的進度條。只需要兩行代碼,就完成了。安裝點擊終端并執行以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                               
? pip3 install tqdm

圖片

使用

使用 tqdm 非常簡單,只需要將它添加到 for 循環中,如下所示:

from tqdm import tqdm
import time
for i in tqdm(range(20), desc = 'tqdm() Progress Bar'):
time.sleep(0.1)
# 這里有一些任務
# 這里還有一些操作
# Linux迷 www.linuxmi.coms

輸出:

這里的 desc 是用于描述進度條的眾多參數之一。例如,當獲取一個文件時,它可以是“downloading”。tqdm 可在任何平臺(Linux、Windows、Mac、FreeBSD、NetBSD、Solaris/SunOS)、任何控制臺或 GUI 中工作,并且還可以在 IPython/Jupyter Notebooks 中使用。Tqdm 可以在代碼中以多種方式使用。您應該查看官方文檔了解更多代碼片段和特性。

2、ALIVE_PROGRESS

這是另一個帶有炫酷動畫的進度條庫。Alive_progress很神奇,因為在這里我們可以完全控制進度條,而且它可以被設置為動態。它比 tqdm 好很多,因為它有更多的功能,我們有不同的動畫可供選擇。

安裝

點擊終端并執行以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                              
? pip3 install alive-progress

圖片

使用

如果你有一個從互聯網上下載文件的腳本,以下是一個示例代碼:

from alive_progress import alive_bar
import time
for i in range(3):
with alive_bar(100, ctrl_c=False, title=f'下載 {i}') as bar:
for i in range(100):
time.sleep(0.02)
bar()

其中 100 是進度的最大長度。ctrl_c = False 表示當執行進度條中的代碼時,CTRL + C 將不起作用 (CTRL + C用于在終端中終止任務)。當一個重要的任務正在執行,而您不希望用戶終止該任務時,特別可以使用這個選項。缺省情況下為True。title是進度條的標題。

輸出:

圖片

我們還可以修改進度條的主題,如下所示:

from alive_progress import alive_bar
import time
for i in range(3):
with alive_bar(100, ctrl_c=False, title=f'下載 {i}', bar='halloween', spinner='twirls') as bar:
for i in range(100):
time.sleep(0.02)
bar()

輸出:

圖片可以從許多可用的主題中進行選擇。你可以同時展示它們,然后選擇最適合你的:

from alive_progress.styles import showtime
showtime()

輸出如下:

圖片

訪問 GitHub 存儲庫獲取更多詳細信息。

3、Halo

Halo 更像是一個微調器,而不是加載屏幕。當操作需要較少時間時可以使用它。安裝點擊終端并執行以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                              
? pip3 install halo

圖片使用:

from __future__ import unicode_literals
import os
import sys
import time
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from halo import Halo
success_message = '加載成功'
failed_message = '加載失敗'
unicorn_message = '加載 unicorn'
spinner = Halo(text=success_message, spinner='dots')
try:
spinner.start()
time.sleep(1)
spinner.succeed()
spinner.start(failed_message)
time.sleep(1)
spinner.fail()
spinner.start(unicorn_message)
time.sleep(1)
spinner.stop_and_persist(symbol='??'.encode('utf-8'), text=unicorn_message)
except (KeyboardInterrupt, SystemExit):
spinner.stop()

輸出如下:

圖片

查看 GitHub 存儲庫以獲取更多信息。4、Yaspin您的命令行應用程序的另一個微調器庫。在 Yaspin,我們有多種選擇。它適用于比平時需要更多時間的操作。安裝點擊終端并執行以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                              
? pip3 install yaspin

圖片

使用:

import time
from random import randint
from yaspin import yaspin
from yaspin.spinners import Spinners
with yaspin(text="Loading", color="yellow") as spinner:
time.sleep(1) # time consuming code
success = randint(0, 1)
if success:
spinner.ok("? ")
else:
spinner.fail("?? ")
with yaspin(Spinners.earth, text="Earth") as sp:
time.sleep(1) # time consuming code
# change spinner
sp.spinner = Spinners.moon
sp.text = "Moon"
time.sleep(1)
with yaspin(text="Colors!") as sp:
# Support all basic termcolor text colors
colors = ("red", "green", "yellow", "blue", "magenta", "cyan", "white")
for color in colors:
sp.color, sp.text = color, color
time.sleep(0.5)

輸出如下:

圖片

在此處訪問官方網站。

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2015-07-31 11:19:43

數字進度條源碼

2024-08-06 14:29:37

2023-12-27 13:45:00

Python進度條代碼

2020-12-14 13:32:40

Python進度條參數

2021-04-09 23:11:25

Python程序開源

2011-07-05 15:16:00

QT 進度條

2012-01-17 13:58:17

JavaSwing

2023-12-11 17:15:05

應用開發波紋進度條ArkUI

2009-06-06 18:54:02

JSP編程進度條

2024-06-13 08:15:00

2024-07-04 11:25:34

2009-08-17 14:41:47

C#進度條實現

2009-12-25 17:58:12

WPF進度條

2009-08-18 09:49:00

C# listview

2015-01-12 12:13:03

Android進度條ProgressDia

2009-08-17 15:48:47

C# WinForm進

2010-01-25 18:27:54

Android進度條

2015-01-12 09:30:54

Android進度條ProgressDia

2013-03-12 10:35:06

CSS 3
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产亚洲一区二区三区 | 日韩视频观看 | 国产在线视频在线观看 | www.久久99 | 精品一区二区电影 | 欧美日韩综合视频 | 国产 日韩 欧美 制服 另类 | 亚洲国产成人av | 欧美日韩视频在线第一区 | 亚洲国产精品suv | 国产精品 欧美精品 | 欧美日韩国产一区二区三区 | 精品欧美一区免费观看α√ | 国产日韩视频 | 97超在线视频 | 精品亚洲一区二区 | 国产精彩视频一区 | 在线免费观看成年人视频 | 午夜影院视频在线观看 | av小说在线 | 精品国产精品三级精品av网址 | 亚洲欧美中文日韩在线 | 国产精品美女一区二区三区 | 成人av免费| 久久久做 | 国产综合视频 | 日韩精品在线看 | 毛片在线视频 | 日韩一级二级片 | 日韩在线中文 | 日韩高清一区 | 在线一区二区三区 | 欧美精品二区三区 | 91在线导航 | 亚洲乱码一区二区 | 97人人草 | 亚洲午夜电影 | 密色视频| 一区二区三区在线免费观看 | 久久国产精品免费一区二区三区 | 国产一区二区三区 |