一、安装要用到的模块:
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
注:此代码只是个人根据当时的环境满足了当时的需求,记录下来用做后续参考!如有问题,请检查软硬件环境是否一致,由于时间精力有限,大部分未做详细环境描述。