简单的记录下二维码生成和解析的Python代码

依赖下面三个包:

  • PIL(图像处理包,安装:pip install PIL
  • qrcode(二维码生成包,安装:pip install qrcode)
  • zbarlight(二维码解析包,安装:pip install zbarlight)

具体脚本:

# coding: utf-8
"""
filename: qrcode.py
Created by Tacey Wong at 16-9-22 下午10:34
"""import zbar
import qrcode
from PIL import Image
import os, sysdef gen_qrcode(string, path, logo=""):"""生成中间带logo的二维码需要安装qrcode, PIL库@参数 string: 二维码字符串@参数 path: 生成的二维码保存路径@参数 logo: logo文件路径@return: None"""qr = qrcode.QRCode(version=2,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=8,border=1)qr.add_data(string)qr.make(fit=True)img = qr.make_image()img = img.convert("RGBA")if logo and os.path.exists(logo):try:icon = Image.open(logo)img_w, img_h = img.sizeexcept Exception, e:print esys.exit(1)factor = 4size_w = int(img_w / factor)size_h = int(img_h / factor)icon_w, icon_h = icon.sizeif icon_w > size_w:icon_w = size_wif icon_h > size_h:icon_h = size_hicon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)w = int((img_w - icon_w) / 2)h = int((img_h - icon_h) / 2)icon = icon.convert("RGBA")img.paste(icon, (w, h), icon)img.save(path)# 调用系统命令打开图片# xdg - open(opens a file or URL in the user's preferred application)os.system('xdg-open %s' % path)def decode_qrcode(path):"""解析二维码信息@参数 path: 二维码图片路径@return: 二维码信息"""# 创建图片扫描对象scanner = zbar.ImageScanner()# 设置对象属性scanner.parse_config('enable')# 打开含有二维码的图片img = Image.open(path).convert('L')# 获取图片的尺寸width, height = img.size# 建立zbar图片对象并扫描转换为字节信息qrCode = zbar.Image(width, height, 'Y800', img.tobytes())scanner.scan(qrCode)# 组装解码信息data = ''for s in qrCode:data += s.data# 删除图片对象del img# 输出解码结果return dataif __name__ == "__main__":info = "中华人民共和国合法公民——Tacey Wong\nhttp://www.cnblogs.com/taceywong"pic_path = "qr.png"icon_path = "logo.png"gen_qrcode(info, pic_path,logo_path )print decode_qrcode(pic_path)

生成的二维码图片如下:

扫描结果如下:

参考资料:https://pypi.python.org/pypi/qrcode

Python生成二维码脚本相关推荐

  1. python生成二维码_python生成二维码的实例详解

    python生成二维码的实例详解 版本相关 操作系统:Mac OS X EI Caption Python版本:2.7 IDE:Sublime Text 3 依赖库 Python生成二维码需要的依赖库 ...

  2. python生成二维码、动态二维码 和 而二维码解析

    python生成二维码.动态二维码 和 而二维码解析(8-20190129) 文章目录: 一.二维码介绍 二. 就是为了好玩所以想搞一下二维码,"好玩",少年醒醒,不要骗自己啦,起 ...

  3. 互联网 4 大发明之二维码,你如何使用 Python 生成二维码?

    阅读文本大概需要 8 分钟. 新时代,人们有人信新的追求,自然而然会有新发明的诞生.去年,在"一带一路"国际合作高峰论坛举行期间, 20 国青年投票选出中国的"新四大发明 ...

  4. Python生成二维码的操作方法

    使用的是qrcode库,在使用之前需要安装此库 pip install qrcode 网址 #python生成二维码 import qrcode img=qrcode.make("http: ...

  5. 使用 Python 生成二维码

    本文原创发布于微信公众号「极客猴」,欢迎关注第一时间获取更多原创分享 新时代,人们有人信新的追求,自然而然会有新发明的诞生.去年,在"一带一路"国际合作高峰论坛举行期间, 20 国 ...

  6. 标题 Python生成二维码和解码

    标题 Python生成二维码和解码 一.首先下载第三方库 方法一:打开cmd命令窗口,通过命令pip install 包名 进行第三方库安装 1.找到自己的Python环境位置目录,输入cmd回车进入 ...

  7. 利用python生成二维码 以及批量生成二维码

    常见的两种简单生成二维码方法,目测均是很好用的 1.MyQR  要求是python3 ,并且二维码上的内容不支持中文 #1.生成普通二维码#在程序中导入MyQR包下的模板myqr,其中word参数接收 ...

  8. python生成二维码_使用python生成二维码

    1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库. 首先,我们要安装三个模块,qrcode,image,PIL. pip install qr ...

  9. 如何用Python生成二维码

    使用Python做二维码需要一个非常简单的模块--MyQR,这个模块相比于QRcode更加简单,功能也是特别强大,下面介绍一种生成简单二维码的方式. 安装方式 利用pip安装. 使用方式 首先导入. ...

最新文章

  1. Anaconda | CentOS7 -解决 Python2和Python3共存
  2. C语言-typedef与#define的区别
  3. 芯片数据手册datasheet哪里找?
  4. pycharm shadows name 'xxxx' from outer scope 警告
  5. 唐骏:幸福与财富无关
  6. linux mint 18 mysql_linux mint下mysql中文支持问题
  7. MVC架构 -- 初学试水选课管理系统
  8. GO语言学习之路18
  9. 深入学习java虚拟机第二版学习笔记
  10. linux pipe 缓冲大小,linux下,pipe的容量的讨论与查看
  11. 愿你一直能够撑下去!
  12. flowchart流程图
  13. 计算机显示器是指什么,电脑的显示器是什么 选购显示器的小技巧
  14. matlab 实现常用的混沌映射(Tent, Sine, Sinusoidal, Piecewise, Logistic, Cubic, Chebyshev)
  15. CSS 滚动条样式修改(详细)
  16. python编程代码-python编程代码
  17. [IDA Plugin] IDA插件收集
  18. [pytorch学习笔记] 3.Datasets Dataloaders
  19. 我的一点自学心得[摘]
  20. C语言:指针与指针变量

热门文章

  1. 中国最缺大学的重点城市
  2. Golang 等比例调整图片分辨率且用黑色补齐多余部分
  3. 视频格式转换器哪个好?怎样使用?
  4. APP设计师必上的10个APP图标素材资源站
  5. OnLevelWasLoaded 弃用 Unity5.4 新方法 SceneManager.sceneLoaded
  6. 解决ThinkPad X200找不到无线网卡硬件的问题
  7. 自己封装的poi操作Excel工具类
  8. autojs上传蓝奏云UI模板
  9. 淘宝天猫店招空白间隔去除
  10. 沈航数值统计-16-17A+B