一、安装要用到的模块:
pip install qrcode
pip install pyzbar
二、示例代码如下:
import os
import requests
from io import BytesIO
from pyzbar import pyzbar
from PIL import Image,ImageEnhance
import qrcode
def create_ewm(data, img_file):
""" 生成二维码 """
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4
)
# 传入数据
qr.add_data(data)
qr.make(fit=True)
# 生成二维码
img = qr.make_image()
# 保存二维码
img.save(img_file)
# 显示二维码
img.show()
def get_ewm(img_adds):
""" 读取二维码的内容: img_adds:二维码地址(可以是网址也可是本地地址 """
if os.path.isfile(img_adds):
# 从本地加载二维码图片
img = Image.open(img_adds)
else:
# 从网络下载并加载二维码图片
rq_img = requests.get(img_adds).content
img = Image.open(BytesIO(rq_img))
# img.show() # 显示图片,测试用
txt_list = pyzbar.decode(img)
for txt in txt_list:
barcodeData = txt.data.decode("utf-8")
print(barcodeData)
if __name__ == '__main__':
# 生成二维码
create_ewm('我爱你', 'ai.jpg')
create_ewm('https://www.baidu.com', 'D:\\code.png')
# 解析本地二维码
get_ewm('D:\\code.png')
# 解析网络二维码
get_ewm('https://gqrcode.alicdn.com/img?type=cs&shop_id=445653319&seller_id=3035998964&w=140&h=140&el=q&v=1')
输出:
http://ma.taobao.com/r/cs-v2H8otO0gK2cKWosxucxrcghC4Q
http://ma.taobao.com/r/cs-v2H8otO0gK2cKWosxucxrcghC4Q
注:此代码只是个人根据当时的环境满足了当时的需求,记录下来用做后续参考!如有问题,请检查软硬件环境是否一致,由于时间精力有限,大部分未做详细环境描述。