前言
前几天有朋友在朋友圈问我能不能写个生成二维码的文章。感谢这位朋友给的思路。在很多时候,我们有需要二维码的需求,例如我们关注公众号的二维码、支付的二维码等。如何通过Python来生成二维码?直接看下面。
qrcode
首先安装这个库
代码语言:txt复制pip install qrcode
这个库的GitHub地址也给大家,方便大家更进一步了解
代码语言:txt复制https://github.com/lincolnloop/python-qrcode
简单使用
用这个库来生成二维码,简直不要太简单了,只需一行代码!
代码语言:txt复制img = qrcode.make(data="你好")
当然我们还需要导入库以及保存为图片格式:
代码语言:txt复制import qrcode
# 生成二维码
img = qrcode.make(data="你好")
# 将二维码保存为图片
with open('test.png', 'wb') as f:
img.save(f)
运行一下代码,就可以看到生成了一张test.png的图片:
扫码后可以看到:
当然你不仅仅能放文本在里面,你还能让它跳转链接,你只需要把data里的数据改为url即可。
高级使用
除了简单生成二维码外,我们还能够自定义一些属性。
代码语言:txt复制import qrcode
qr = qrcode.QRCode(
version=20,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data('Some data')
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
with open('test1.png', 'wb') as f:
img.save(f)
可以看到,属性都在QRCode对象中设置,下面我来简单介绍一下上面的参数。
version
:二维码大小,用1~40之间的整数来设置。最小的version=1,是一个21x21的矩阵。如果你想自动生成,将值设置为 None 并使用 fit=True 参数即可。error_correction
: 二维码的纠错范围,可以选择4个常量:- ERROR_CORRECT_L 7%以下的错误会被纠正
- ERROR_CORRECT_M (default) 15%以下的错误会被纠正
- ERROR_CORRECT_Q 25 %以下的错误会被纠正
- ERROR_CORRECT_H. 30%以下的错误会被纠正
box_size
:每一个点中的像素个数border
:二维码距图像外围边框距离,默认为4,而且相关规定最小为4fill_color
和back_color
:可以更改QR的背景和绘画颜色。
大家可以通过设置上面相关的值来满足自己的需求,下面给大家看几张我生成的二维码。