日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
分享:四款Python超酷終端進(jìn)度條

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

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了迭部免費(fèi)建站歡迎大家使用!

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

先決條件

對(duì)于本教程,我們將使用 Ubuntu 來運(yùn)行我們的腳本。Ubuntu 是基于 Linux 的操作系統(tǒng)。在 Ubuntu 中已經(jīng)安裝了 Python,因此無需再次安裝它們。遵循本教程,任何基于 Debian 的操作系統(tǒng)都不會(huì)出現(xiàn)任何問題。如果您使用的是 Windows 操作系統(tǒng),請(qǐng)確保您已安裝 Python 并設(shè)置了環(huán)境變量,因?yàn)槟枰獜慕K端運(yùn)行腳本。

使用 Python 的進(jìn)度條

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

  • tqdm
  • alive_progress
  • halo
  • yaspin

1、TQDM

Tqdm 是一個(gè)易于使用的庫。特別是對(duì)于循環(huán)。它給出了循環(huán)的進(jìn)度條。只需要兩行代碼,就完成了。安裝點(diǎn)擊終端并執(zhí)行以下命令:

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

使用

使用 tqdm 非常簡(jiǎn)單,只需要將它添加到 for 循環(huán)中,如下所示:

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

輸出:

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

2、ALIVE_PROGRESS

這是另一個(gè)帶有炫酷動(dòng)畫的進(jìn)度條庫。Alive_progress很神奇,因?yàn)樵谶@里我們可以完全控制進(jìn)度條,而且它可以被設(shè)置為動(dòng)態(tài)。它比 tqdm 好很多,因?yàn)樗懈嗟墓δ埽覀冇胁煌膭?dòng)畫可供選擇。

安裝

點(diǎn)擊終端并執(zhí)行以下命令:

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

使用

如果你有一個(gè)從互聯(lián)網(wǎng)上下載文件的腳本,以下是一個(gè)示例代碼:

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 是進(jìn)度的最大長(zhǎng)度。ctrl_c = False 表示當(dāng)執(zhí)行進(jìn)度條中的代碼時(shí),CTRL + C 將不起作用 (CTRL + C用于在終端中終止任務(wù))。當(dāng)一個(gè)重要的任務(wù)正在執(zhí)行,而您不希望用戶終止該任務(wù)時(shí),特別可以使用這個(gè)選項(xiàng)。缺省情況下為True。title是進(jìn)度條的標(biāo)題。

輸出:

我們還可以修改進(jìn)度條的主題,如下所示:

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()

輸出:

可以從許多可用的主題中進(jìn)行選擇。你可以同時(shí)展示它們,然后選擇最適合你的:

from alive_progress.styles import showtime
showtime()

輸出如下:

訪問 GitHub 存儲(chǔ)庫獲取更多詳細(xì)信息。

3、Halo

Halo 更像是一個(gè)微調(diào)器,而不是加載屏幕。當(dāng)操作需要較少時(shí)間時(shí)可以使用它。安裝點(diǎn)擊終端并執(zhí)行以下命令:

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 存儲(chǔ)庫以獲取更多信息。4、Yaspin您的命令行應(yīng)用程序的另一個(gè)微調(diào)器庫。在 Yaspin,我們有多種選擇。它適用于比平時(shí)需要更多時(shí)間的操作。安裝點(diǎn)擊終端并執(zhí)行以下命令:

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)

輸出如下:

在此處訪問官方網(wǎng)站。


分享標(biāo)題:分享:四款Python超酷終端進(jìn)度條
瀏覽路徑:http://www.dlmjj.cn/article/dhidpep.html