python生成和解析二维码

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

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,如需转载请自行联系原作者

相关文章
|
1天前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
1天前
|
存储 Linux iOS开发
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
7天前
|
监控 算法 安全
内网桌面监控软件深度解析:基于 Python 实现的 K-Means 算法研究
内网桌面监控软件通过实时监测员工操作,保障企业信息安全并提升效率。本文深入探讨K-Means聚类算法在该软件中的应用,解析其原理与实现。K-Means通过迭代更新簇中心,将数据划分为K个簇类,适用于行为分析、异常检测、资源优化及安全威胁识别等场景。文中提供了Python代码示例,展示如何实现K-Means算法,并模拟内网监控数据进行聚类分析。
28 10
|
25天前
|
存储 算法 安全
控制局域网上网软件之 Python 字典树算法解析
控制局域网上网软件在现代网络管理中至关重要,用于控制设备的上网行为和访问权限。本文聚焦于字典树(Trie Tree)算法的应用,详细阐述其原理、优势及实现。通过字典树,软件能高效进行关键词匹配和过滤,提升系统性能。文中还提供了Python代码示例,展示了字典树在网址过滤和关键词屏蔽中的具体应用,为局域网的安全和管理提供有力支持。
50 17
|
28天前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
56 20
|
存储 算法 前端开发
Python制作属于自己的第一个二维码
那么二维码是如何生成的呢?它的原理又是什么?今天就来说说如何实用python来生成二维码。
178 0
Python制作属于自己的第一个二维码
|
2月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码

推荐镜像

更多