python生成二维码及进度条源代码

本文介绍了如何使用Python的time模块和tqdm库实现进度条,包括基本用法、数据观察、进度控制和多进程支持。此外,还讲解了如何通过qrcode库生成和操作二维码,包括安装依赖、简单示例和文件保存。
摘要由CSDN通过智能技术生成

一、进度条

1、利用time模块实现
import time
for i in range(0, 101, 2):
  time.sleep(0.3)
  num = i // 2
  if i == 100:
    process = "\r[%3s%% ]: |%-50s|\n" % (i, '#' * num)
  else:
    process = "\r[%3s%% ]: |%-50s|" % (i, '#' * num)
  print(process, end='', flush=True)

2、使用 tqdm 模块实现

①安装
pip install tqdm

②迭代对象处理

from tqdm import tqdm,trange
import time
 
#for i in tqdm(range(100)):
for i in trange(100):
  time.sleep(0.1)
  pass

③观察处理的数据

通过tqdm提供的set_description方法可以实时查看每次处理的数据

from tqdm import tqdm
import time
 
pbar = tqdm(["a","b","c","d"])
for c in pbar:
  time.sleep(1)
  pbar.set_description("Processing %s"%c)

④手动设置处理的进度

通过update方法可以控制每次进度条更新的进度

from tqdm import tqdm
import time
 
#total参数设置进度条的总长度
with tqdm(total=100) as pbar:
  for i in range(100):
    time.sleep(0.05)
    #每次更新进度条的长度
    pbar.update(1)

除了使用with之外,还可以使用另外一种方法实现上面的效果

from tqdm import tqdm
import time
 
#total参数设置进度条的总长度
pbar = tqdm(total=100)
for i in range(100):
  time.sleep(0.05)
  #每次更新进度条的长度
  pbar.update(1)
#关闭占用的资源
pbar.close()

⑤多进程进度条

在使用多进程处理任务的时候,通过tqdm可以实时查看每一个进程任务的处理情况

from time import sleep
from tqdm import trange, tqdm
from multiprocessing import Pool, freeze_support, RLock
 
L = list(range(9))
 
def progresser(n):
  interval = 0.001 / (n + 2)
  total = 5000
  text = "#{}, est. {:<04.2}s".format(n, interval * total)
  for i in trange(total, desc=text, position=n,ascii=True):
    sleep(interval)
 
if __name__ == '__main__':
  freeze_support()  # for Windows support
  p = Pool(len(L),
       # again, for Windows support
       initializer=tqdm.set_lock, initargs=(RLock(),))
  p.map(progresser, L)
  print("\n" * (len(L) - 2))

二、二维码

1、安装依赖包

pip install qrcode

2、简单示例

import qrcode

# 二维码内容,如果url为网址,扫码明会跳转网址,如果url为纯文本,扫码则会显示文本
url = "https://movie.douban.com/"
# 生成二维码
img = qrcode.make(data=url)
# 直接显示二维码
img.show()
# 保存二维码为文件
img.save("示例图片.jpg")

好的,这期就到这里!我是刀尖过客,goodbye !

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值