python實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知的示例詳解
趁著休息的空隙,研究了一下兩個(gè)比較有意思的腳本,在日常的使用中很好用。
今天的代碼展示區(qū)別于以前的代碼圖片展示,直接展示代碼。shigen連夜修改了一下md轉(zhuǎn)微信排版的引擎和部分樣式。
下載網(wǎng)絡(luò)文件并展示進(jìn)度
import click
from tqdm import tqdm
import requests
@click.command()
@click.option("-url", "--url", help="file url", required=True)
@click.option("-name", "--name", help="Picture rename")
def file(url, name):
"""File download"""
_download(url, name)
def _download(url, name):
if not name:
name = get_file_name(url)
resp = requests.get(url, stream=True)
# 獲取文件大小
file_size = int(resp.headers['content-length'])
with tqdm(total=file_size, unit='B', unit_scale=True, unit_divisor=1024, ascii=True, desc=name) as bar:
with requests.get(url, stream=True) as r:
with open(name, 'wb') as fp:
for chunk in r.iter_content(chunk_size=512):
if chunk:
fp.write(chunk)
bar.update(len(chunk))
# 解析文件名稱
def get_file_name(url):
if '?' in url:
return url.split('?')[0].split('/')[-1]
else:
return url.split('/')[-1]
if __name__ == '__main__':
file()
在使用之前,需要安裝如下的包:
pip install click tqdm
其中,click是一個(gè)很有意思的解析命令行參數(shù)的工具,比argsparse更好用;tqdm是常用的進(jìn)度條顯示。
效果是怎樣的呢?我們一起看看:

系統(tǒng)通知
我們先看一下代碼:
from plyer import notification
import psutil
from time import sleep
while True:
battery = psutil.sensors_battery()
life = battery.percent
if life < 60:
notification.notify(
title = "Battery Low",
message = "Please connect to power source",
timeout = 10
)
sleep(60)
實(shí)現(xiàn)的效果就是:每隔1分鐘執(zhí)行一次通知,通知的條件是當(dāng)前的life即電池電量小于60的時(shí)候,出現(xiàn)通知框:

需要提前安裝的庫(kù)有:
pip install plyer
注意:
此腳本僅在windows系統(tǒng)中執(zhí)行測(cè)試效果,macos系統(tǒng)還有待驗(yàn)證,感興趣的伙伴可以嘗試一下。后期shigen也會(huì)分享基于本腳本魔改的效率腳本。
到此這篇關(guān)于python實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知的示例詳解的文章就介紹到這了,更多相關(guān)python進(jìn)度條內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python釘釘報(bào)警及Zabbix集成釘釘報(bào)警的示例代碼
這篇文章主要介紹了Python釘釘報(bào)警及Zabbix集成釘釘報(bào)警的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
淺談Python數(shù)據(jù)類型之間的轉(zhuǎn)換
下面小編就為大家?guī)?lái)一篇淺談Python數(shù)據(jù)類型之間的轉(zhuǎn)換。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
Python并發(fā)編程多進(jìn)程,多線程及GIL全局解釋器鎖
這篇文章主要介紹了Python并發(fā)編程多進(jìn)程,多線程及GIL全局解釋器鎖,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07
python操作mongodb根據(jù)_id查詢數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了python操作mongodb根據(jù)_id查詢數(shù)據(jù)的實(shí)現(xiàn)方法,實(shí)例分析了Python根據(jù)pymongo不同版本操作ObjectId的技巧,需要的朋友可以參考下2015-05-05
Python中不同目錄結(jié)構(gòu)下的模塊導(dǎo)入的實(shí)現(xiàn)示例
模塊導(dǎo)入是一個(gè)常見(jiàn)的操作,本文主要介紹了Python中不同目錄結(jié)構(gòu)下的導(dǎo)入的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2025-04-04
Python實(shí)現(xiàn)簡(jiǎn)單登錄驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡(jiǎn)單登錄驗(yàn)證的相關(guān)資料,需要的朋友可以參考下2016-04-04
使用Python轉(zhuǎn)換Markdown文件為Word文檔
Markdown格式的文章轉(zhuǎn)換成Word文檔能夠幫助作者制作更復(fù)雜的文檔,同時(shí)確保內(nèi)容的一致性和美觀性,本文將使用Python實(shí)現(xiàn)Markdown轉(zhuǎn)Word,感興趣的可以了解下2024-11-11

