博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python生成和解析二维码
阅读量:7205 次
发布时间:2019-06-29

本文共 1849 字,大约阅读时间需要 6 分钟。

python生成二维码,常用的模块有pyqrencode和qrcode。

一、用pyqrencode模块生成二维码

安装pyqrencode模块很复杂,依赖的东西也比较多,经过测试总结以下安装过程:

1、下载Cython:https://pypi.python.org/packages/source/C/Cython/Cython-0.19.1.tar.gz

安装:tar -zxf Cython-0.19.1.tar.gz && cd Cython-0.19.1 && python setup.py install

2、下载qrencode:http://fukuchi.org/works/qrencode/qrencode-3.4.2.tar.gz

安装前确认安装了yum install libpng-devel -y

安装:tar -zxf qrencode-3.4.2.tar.gz && cd qrencode-3.4.2 && ./configure && make && make install

3、下载Imaging:http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz

安装:tar -zxf Imaging-1.1.7.tar.gz && cd Imaging-1.1.7 && python setup.py install

4、下载:https://codeload.github.com/bitly/pyqrencode/zip/master

安装:

unzip -q pyqrencode-master.zip

cd pyqrencode-master

easy_install cython

cython qrencode.pyx

python setup.py install

echo "/usr/local/lib">>/etc/ld.so.conf

ldconfig

5、用pyqrencode生成二维码

>>> from qrencode import Encoder

>>> encoder = Encoder()

>>> img = encoder.encode("hello python!", {'width':300})

>>> img.save("char.png")

char.png就是生成的二维码文件

二、用qrcode模块生成二维码

1、下载:https://pypi.python.org/packages/source/q/qrcode/qrcode-2.0.tar.gz

2、安装:tar -zxf qrcode-2.0.tar.gz && cd qrcode-2.0 && python setup.py install

3、用qrcode生成二维码

>>> import qrcode

>>> q=qrcode.main.QRCode()

>>> q.add_data("hello python!")

>>> q.make()

>>> m=q.make_image()

>>> m.save('char.png')

三、二维码的识别

解析二维码用到zbar模块,改模块在windowns下面是exe文件直接安装,比较简单,在linux下依赖的包比较多,安装过程就不在介绍,使用方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
def 
get_QR():
    
scanner 
= 
zbar.ImageScanner()
    
scanner.parse_config(
"enable"
)
    
pil 
= 
Image.
open
(
"char.png"
).convert(
'L'
)
    
width, height 
= 
pil.size
    
raw 
= 
pil.tostring()
    
image 
= 
zbar.Image(width, height, 
'Y800'
, raw)
    
scanner.scan(image)
    
data 
= 
''
    
for 
symbol 
in 
image:
        
data
+
=
symbol.data
    
del
(image)
    
return 
data

data就是二维的内容

本文转自 lover00751CTO博客,原文链接;http://blog.51cto.com/wangwei007/1249265,如需转载请自行联系原作者

你可能感兴趣的文章
第十三章 模块和包
查看>>
[TC-HouseProtection]House Protection
查看>>
[ONTAK2015]OR-XOR
查看>>
不要把时间浪费在QQ上
查看>>
ntohs, ntohl, htons,htonl的比较和详解
查看>>
Ubuntu12.04 eclipse4.2安装ADT20时报错
查看>>
计算形状Shape(圆Circle,矩形Square ,正方形Rectangle)的面积、周长
查看>>
WP7基础学习---第七讲
查看>>
[摘录]第一部分 掌舵领航(4)
查看>>
50、转自知乎上android开发相见恨晚的接口
查看>>
递归 && 反射
查看>>
android AlertDialog 错误 OnClickListener 报错
查看>>
mysql 随机数字 & 置顶排序
查看>>
javaweb配置连接mysql数据库
查看>>
Android — — —动态添加碎片
查看>>
欧拉函数
查看>>
如何使用系统软件截图
查看>>
【转】 Oracle 中的一些重要V$ 动态性能视图,系统视图和表
查看>>
模板模式 c#
查看>>
由于js词法性质和全局变量被更改,循环绑定的click事件执行时变量和定义时 不一致的bug,各种解决方案。...
查看>>