背景
工作中经常需要用到生成二维码,然后通过扫码解析码中的内容做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 | import pyqrcode |
上面的create
方法定义如下:
1 | def create(content, error='H', version=None, mode=None, encoding=None): |
调用的时候只需要传递 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”不是吹的。