shigen坚持日更的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。坚持记载和共享从业两年以来的技能堆集和思考,不断沉积和成长。

趁着歇息的空隙,研究了一下两个比较有意思的脚本,在日常的运用中很好用。

今日的代码展现差异于以前的代码图片展现,直接展现代码。shigen连夜修改了一下md转微信排版的引擎和部分款式。

下载网络文件并展现进展

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是一个很有意思的解析命令行参数的工具,比argsparse更好用;tqdm是常用的进展条显示。

作用是怎样的呢?咱们一起看看:

python小工具共享:优雅地完成进展条和体系告诉

体系告诉

咱们先看一下代码:

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)

完成的作用就是:每隔1分钟执行一次告诉,告诉的条件是当前的life电池电量小于60的时候,呈现告诉框:

python小工具共享:优雅地完成进展条和体系告诉

需求提前安装的库有:

pip install plyer

⚠️注意:

此脚本仅在windows体系中执行测验作用,macos体系还有待验证,感兴趣的同伴能够尝试一下。后期shigen也会共享基于本脚本魔改的效率脚本。


以上就是今日共享的全部内容了,觉得不错的话,记住点赞 在看 重视支撑一下哈,您的鼓励和支撑将是shigen坚持日更的动力。一起,shigen在多个平台都有文章的同步,也能够同步的阅读和订阅:

平台 补白 链接
CSDN 知名博客平台,很少重视 shigen的CSDN主页
知乎 专注内容共享和问题解答 shigen的知乎主页
高质量博客平台 shigen的主页
腾讯云开发者社区 腾讯云开发者社区 shigen的腾讯云开发者社区主页
微信大众平台 个人微信大众号,共享技能和日常 大众号名:shigen

shigen一起,每天不一样!