Python 生成 QR 二维码

我们在很多时候都会考虑在程序的某个地方生成 QR 二维码。

Python 已经为我们提供了一个比较便捷的库了,这个库就是 qrcode,库的地址为:qrcode · PyPI

你可以使用这个库来生成 png 或者 svg 格式的 QR 代码。

使用的方法也非常简单在设置好 qrcode 对象收,使用 make 将需要生成的数据为参数导入即可。

具体的使用办法,可以参考库官方提供的文档。

需要注意的是,这个库使用了 Pillow 来生成 QR 代码的。如果你的 Python 环境没有安装的话,你需要安装这个扩展。

Pillow

Pillow 是 Python Imaging Library 的简称。其实这个就是为 Python 提供图像处理的一个库。

官方库和地址为: https://pypi.org/project/Pillow/。

如果你没有在你的环境中安装这个库的话,如果使用 QRCode 库,你将会得到:

ModuleNotFoundError: No module named 'PIL' 这个错误。

 

python-qr-pillow-01

 

通过运行命令 pip install pillow 来进行安装即可。

需要这个库也的理由也非常简单,QR 二维码就是一个图片,在图片生成的时候我们通常都会用到第三方的库,因为很多语言对图片的原生处理并不是非常友好。

通常第三方的库能够提供更多的功能。

通过运行代码,我们可以在 IDE 中看到生成的二维码了。这个时候你可以使用手机上的扫一扫等直接看看能不能被正常识别。

 

python-qr-pillow-02

 

有关测试使用的代码,请访问 GitHub 上的源代码。

链接地址为:python-tutorials/QRCode.py at master · cwiki-us-docs/python-tutorials · GitHub

Python 生成二维 QR 代码的语句非常简单,只需要有很少的语言基础就可以使用。

### 如何使用Python生成简单二维码 为了生成简单的二维码,在Python中通常会采用`qrcode`库。这个库不仅安装简便而且易于使用,能够快速地将字符串转换成二维码图像。 #### 安装依赖包 首先需要确保环境中已经安装了必要的库。可以通过pip工具轻松完成安装: ```bash pip install qrcode[pil] ``` 这段命令将会下载并安装`qrcode`及其依赖项PIL(即Pillow),后者用来处理图片文件[^1]。 #### 创建基本的二维码 下面是一段用于创建基础版本二维码Python脚本示例: ```python import qrcode data = 'https://www.example.com' # 要编码的数据 filename = 'example.png' # 输出文件名 img = qrcode.make(data) img.save(filename) print(f"QR code saved as {filename}") ``` 上述代码片段展示了最简化的方式去构建一个包含URL链接的二维码,并将其保存为PNG格式的图片文件[^4]。 对于更复杂的场景或者想要调整更多选项的情况,则可以利用`QRCODE`类来进行更加精细的操作。比如设置错误纠正级别、边框宽度等属性来增强二维码的质量和美观度[^5]。 #### 高级配置 如果希望进一步定制化二维码外观,可参考如下改进版的例子: ```python import qrcode from PIL import Image qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=10, border=4, ) text_data = "This is a test message." qr.add_data(text_data) qr.make(fit=True) image = qr.make_image(fill_color="black", back_color="white") logo_display = Image.open('path_to_logo.jpg') logo_display.thumbnail((80, 80)) pos = ((image.size[0] - logo_display.size[0]) // 2, (image.size[1] - logo_display.size[1]) // 2) image.paste(logo_display, pos) image.save("custom_qr_with_logo.png") ``` 此部分代码实现了向二维码中心添加Logo图形的效果,同时也指定了不同的颜色方案以适应特定的设计需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HoneyMoose

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值