Python生成二维码竟然只要一行代码

2020-05-08 11:35:47 浏览数 (1)

前言

前几天有朋友在朋友圈问我能不能写个生成二维码的文章。感谢这位朋友给的思路。在很多时候,我们有需要二维码的需求,例如我们关注公众号的二维码、支付的二维码等。如何通过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对象中设置,下面我来简单介绍一下上面的参数。

  1. version:二维码大小,用1~40之间的整数来设置。最小的version=1,是一个21x21的矩阵。如果你想自动生成,将值设置为 None 并使用 fit=True 参数即可。
  2. error_correction: 二维码的纠错范围,可以选择4个常量:
  3. ERROR_CORRECT_L 7%以下的错误会被纠正
  4. ERROR_CORRECT_M (default) 15%以下的错误会被纠正
  5. ERROR_CORRECT_Q 25 %以下的错误会被纠正
  6. ERROR_CORRECT_H. 30%以下的错误会被纠正
  7. box_size:每一个点中的像素个数
  8. border:二维码距图像外围边框距离,默认为4,而且相关规定最小为4
  9. fill_colorback_color:可以更改QR的背景和绘画颜色。

大家可以通过设置上面相关的值来满足自己的需求,下面给大家看几张我生成的二维码。

0 人点赞