python實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知的示例詳解
趁著休息的空隙,研究了一下兩個比較有意思的腳本,在日常的使用中很好用。
今天的代碼展示區(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
是一個很有意思的解析命令行參數(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的時候,出現(xiàn)通知框:
需要提前安裝的庫有:
pip install plyer
注意:
此腳本僅在windows系統(tǒng)中執(zhí)行測試效果,macos系統(tǒng)還有待驗(yàn)證,感興趣的伙伴可以嘗試一下。后期shigen
也會分享基于本腳本魔改的效率腳本。
到此這篇關(guān)于python實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知的示例詳解的文章就介紹到這了,更多相關(guān)python進(jìn)度條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中出現(xiàn)IndentationError:unindent does not match any outer
今天在網(wǎng)上copy的一段代碼,代碼很簡單,每行看起來該縮進(jìn)的都縮進(jìn)了,運(yùn)行的時候出現(xiàn)了如下錯誤,IndentationError: unindent does not match any outer indentation level,如果看起來縮進(jìn)正常所有tab與空格混用就會出現(xiàn)這個問題2019-01-01Python基本運(yùn)算幾何運(yùn)算處理數(shù)字圖像示例
這篇文章主要介紹了Python基本運(yùn)算,同個幾個幾何運(yùn)算處理數(shù)字圖像示例來為大家詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09Python中tkinter的用戶登錄管理的實(shí)現(xiàn)
這篇文章主要介紹了Python中tkinter的用戶登錄管理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04