您当前的位置:首页 > 计算机 > 编程开发 > Python

Python 解析二维码 输出文本

时间:04-01来源:作者:点击数:

一、安装要用到的模块:

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

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

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门