如果你需要用Python搞个二维码,那应该收藏这篇

发表于:2022-10-13 10:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:梦想橡皮擦    来源:稀土掘金

  交代背景
  作为一名合格的 Python 程序员,在工作中必然会用到二维码相关操作,那如何快速的用 Python 实现呢?别着急,咱们这篇博客就为你解决。
  暂时用不到也没有关系,点赞+收藏,毕竟这么全的文章也不好找。
  文章会为大家带来最常见,最简单,最实用的 4 种 Python 二维码生成方式。
  pyqrcode 实现二维码
  上来为你展示的就是一款第三方二维码模块,开源高效才是当今编码界的主流。
  pyqrcode 是一款 老牌 二维码生成模块了,安装之后三行代码就能搞定一个简单的二维码图片。
  pip install pyqrcode
  模块安装之后,直接展示入门 Demo,为了可以生成图片,还需要额外安装一个模块,即 pip install pypng。
  import pyqrcode
  import png
  qr = pyqrcode.create('梦想橡皮擦')
  qr.png('ca.png', scale=5)
  运行代码,直接生成一个文本二维码,由于部分站点屏蔽二维码图片内容,可自行使用手机进行扫码测试
  除生成 PNG 图片外,还可以直接生成一个 svg 图片。
  import pyqrcode
  import png
  qr = pyqrcode.create('梦想橡皮擦')
  # qr.png('ca.png', scale=5)
  qr.svg("./ca.svg", scale=8, background="white", module_color="#03a9f4")
  上述方法中的参数不做特殊说明,相信大家通过参数名直接学习掌握,详细参数说明也可以阅读官方手册,进行简单搜索即可找到。
  import pyqrcode
  import png
  qr = pyqrcode.create('梦想橡皮擦')
  # qr.png('ca.png', scale=5)
  # qr.svg("./ca.svg", scale=8, background="white", module_color="#03a9f4")
  qr.png('./code.png', scale=5, m
  qrcode 实现二维码
  第二个推荐的模块与上一模块名称雷同,也是比较老牌的第三方模块,而且该模块在实战中出场频率非常高。
  pip install qrcode
  为了快速学习,直接查看示例代码:
  import qrcode
  qr = qrcode.QRCode(
      version=None,
      error_correction=qrcode.constants.ERROR_CORRECT_L,
      border=4,
      box_size=10
  )
  img = qrcode.make('梦想橡皮擦',version=4,border=4,box_size=12)
  img.save('ca.jpg')  # 保存图片
  qrcode 模块中最重要的方法是 qrcode.QRCode,其参数简单说明如下:
  ·version:二维码大小,1-40 不等;
  · error_correction:二维码纠错范围,4 个常量值在下文说明;
  · box_size:二维码中每个小格子包含的像素数;
  · border:边框,二维码与图片边界的距离。
  二维码纠错范围,可以选择 4 个常量:
  1. ERROR_CORRECT_L: 7%以下的错误会被纠正;
  2. ERROR_CORRECT_M (默认值): 15%以下的错误会被纠正;
  3. ERROR_CORRECT_Q:25%以下的错误会被纠正;
  4. ERROR_CORRECT_H:30%以下的错误会被纠正。
  MyQR 实现二维码
  又一款二维码生成模块,安装命令如下所示:
  pip install MyQR
  该模块比较年轻,需要将 pillow 升级到最新版本,使用如下命令:
  pip install pillow>=8.3.2
  先看一下普通的二维码生成:
  from MyQR import myqr
  myqr.run(words="cacaca", version=9,
           save_name="ca1.png",
           save_dir="./")
  该二维码模块的一大特色就是可以实现动图效果,代码如下:
  from MyQR import myqr
  myqr.run(words="https://juejin.cn/user/3966693684027512", version=3, picture="./in.gif", colorized=True,
           save_name="ca.gif",
           save_dir="./")
  动图也给你准备好了。
  run() 方法中主要的几个参数说明如下:
  ·words:二维码文本内容(不支持中文);
  · picture:背景图片;
  · colorsize:True,表示生成彩图;
  · save_name:二维码图片的名字。
  Amazing-QR 实现二维码
  可生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。
  安装命令如下所示:
  pip install amzqr
  示例代码也非常简单。
  # 安装模块后
  from amzqr import amzqr
  import os
  version, level, qr_name = amzqr.run(
      'cacaca',
      version=1,
      level='H',
      picture=None,
      colorized=False,
      contrast=1.0,
      brightness=1.0,
      save_name='ca_amzqr.png',
      save_dir=os.getcwd()
  )
  中文识别也不是很好,需要进行修改,如果觉得参数过多,可以直接进行简化,只保留 words 参数即可。
  from amzqr import amzqr
  amzqr.run(words='https://juejin.cn/user/3966693684027512')
  默认在运行目录生成一个名称为 qrcode.png 的图片。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号