Python 小工具——二维码生成

背景

工作中经常需要用到生成二维码,然后通过扫码解析码中的内容做Schema协议跳转,刚好正在学习python,就用python高了一个二维码生成的工具,十分简单,也十分有趣,目前只有功过代码运行生成并展示二维码,后期学习Python GUI时尝试做一个带界面的,想想就舒服。

开始

要生成二维码,我就搜了下需要使用哪些包,发现还挺多的,其中 pyqrcode感觉挺不错的,官网介绍如下地址如下:PyQrCode 介绍。使用文档有介绍,展示二维码只需要两行代码。

先安装需要的包:pyqrcode

1
pip install pyqrcode

由于后面需要转换成png图片显示出来,这里还需要安装一个包,即 pypng

1
pip install git+https://gitlab.com/drj11/pypng@pypng-0.20220715.0
1
2
3
4
5
import pyqrcode


code = pyqrcode.create('要生成二维码的文本')
code.show()# 展示二维码

上面的create方法定义如下:

1
2
def create(content, error='H', version=None, mode=None, encoding=None):
    return QRCode(content, error, version, mode, encoding)

调用的时候只需要传递 content内容即可了,方法会放回一个QRCode对象。QRCode对象对外暴露的方法有:

  • show(),展示生成的二维码对象;

  • get_png_size(),获取png文件的大小;

  • png(),将二维码保存为png文件;

  • png_as_base64_str(),将二维码生成的png图片转换成base64 字符串;

  • xbm(),将二维码转换成 X Bitmap,作为bitmap对象方便在Tinker中使用;

  • svg(),将二维码转换成 svg图片;

  • eps(),将二维码转换成eps文档格式;

  • terminal(),返回一个ASCII码转义过的字符串,如果终端支持,将在终端中直接打印出二维码;

  • text(),返回代表二维码的文本(用0和1表示);

注意:这里用了代理模式,上面的方法都是通过QRBuilder类来实现的。

总结

用Python做一些小工具还是比较方便快捷的,毕竟“人生苦短,我用Python”不是吹的。