百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

五分钟学会用 Python 处理二维码(python二维码生成代码)

off999 2024-10-04 18:57 21 浏览 0 评论

项目地址

https://github.com/lincolnloop/python-qrcode

声明

import
 qrcode

使用

QRCode 方法

qrcode
.
QRCode
(
 version
=
1
,
 
 error_correction
=
qrcode
.
ERROR_CORRECT_L
,
 box_size
=
10
,
 border
=
4
,
 image_factory
=
None
,
 mask_pattern
=
None
)

参数解释

1、version:控制二维码的大小,取值范围从1到40。取最小值1时,二维码大小为21*21。取值为 None (默认)或者使用fit=true参数(默认)时,二维码会自动调整大小。

2、error_correction:控制二维码纠错级别。

  • ERRORCORRECTL:大约7%或者更少的错误会被更正。
  • ERRORCORRECTM:默认值,大约15%或者更少的错误会被更正。
  • ERRORCORRECTQ:大约25%或者更少的错误会被更正。
  • ERRORCORRECTH:大约30%或者更少的错误会被更正。

3、box_size:控制二维码中每个格子的像素数,默认为 10。

4、border:控制二维码四周留白包含的格子数,默认为4。

5、image_factory:选择生成图片的形式,默认为 PIL 图像。

6、mask_pattern:选择生成图片的的掩模。

方法属性解释

常用方法:

1、add_data(str,optimize=20):添加要转换的文字到data参数;如果使用了optimize优化参数,数据将被拆分为多个块来进行优化,以找到一个长度至少为这个值的足够简洁的方式来生成二维码。设置为“0”以避免优化。

2、make(fit=True):当fit参数为真或者没有给出version参数时,将会调用bestfit方法来找到适合数据的最小尺寸。如果没有设置maskpattern,将会调用bestmaskpattern方法来找到找到最有效的掩模图案。最后将这些数据传递给makeImpl方法来生成二维码。与qrcode本体的make方法不一样的是,这个方法没有任何返回值。

3、makeimage(fillcolor=None, backcolor=None,imagefactory=None):创建二维码的图像并返回,默认为 PIL 图像。如果要让二维码有颜色,可以在这里设置。

4、clear:清空数据

5、get_matrix:返回二维码数组。

6、print_ascii(out=None, tty=False, invert=False):这个方法就比较有趣了,可以用字符画的形式来输出二维码,但是扫的时候一般都扫不出来。



其中的invert参数是决定是否反转颜色的参数,默认为假,如果为真的话会这样:



其他方法:

1、bestfit(start=self.version):找到适合数据所需的最小尺寸。

2、bestmaskpattern():找到最有效的掩模图案。

3、makeImpl(test, maskpattern):生成二维码的直接函数

4、mapdata:(内部函数,无需了解)

5、printtty(out=None):用TTY颜色输出二维码,如果没有给出out参数,会使用sys.stdout。

6、setuppositionadjustpattern:(内部函数)

7、setuppositionprobepattern:(内部函数)

8、setuptimingpattern:(内部函数)

9、setuptypeinfo:(内部函数)

10、setuptypenumber:(内部函数)

属性:

1、border:

2、boxsize:

3、datacache:

4、datalist:

5、errorcorrection:

6、imagefactory:

7、maskpattern:

8、modules:

9、modules_count:

10、version:

生成 SVG 图像

qrcode可以生成三种不同的svg图像,一种是用路径表示的svg,一种是用矩形集合表示的完整svg文件,还有一种是用矩形集合表示的svg片段。第一种用路径表示的svg其实就是矢量图,可以在图像放大的时候可以保持图片质量,而另外两种可能会在格子之间出现空隙。

这三种分别对应了svg.py中的SvgPathImage、SvgImage和SvgFragmentImage类。在调用qrcode.make函数或者实例化QRCode时当作image_factory参数的值传入就可以了。

import
 qrcode
.
image
.
svg
if
 method 
==
 
'basic'
:
 
# Simple factory, just a set of rects.
 factory 
=
 qrcode
.
image
.
svg
.
SvgImage
elif
 method 
==
 
'fragment'
:
 
# Fragment factory (also just a set of rects)
 factory 
=
 qrcode
.
image
.
svg
.
SvgFragmentImage
else
:
 
# Combined path factory, fixes white space that may occur when zooming
 factory 
=
 qrcode
.
image
.
svg
.
SvgPathImage
img 
=
 qrcode
.
make
(
'Some data here'
,
 image_factory
=
factory
)

生成 PNG 图像

执行命令安装pymaging相关模块:

pip install git
+
git
:
//github.com/ojii/pymaging.git#egg=pymaging
pip install git
+
git
:
//github.com/ojii/pymaging-png.git#egg=pymaging-png

然后给image_factor参数传入qrcode.image.pure.PymagingImage就可以生成PNG图片了。

import
 qrcode 
from
 qrcode
.
image
.
pure 
import
 
PymagingImage
img 
=
 qrcode
.
make
(
'Some data here'
,
 image_factory
=
PymagingImage
)

这是作者推荐的方式,但是我个人认为,完全没有必要这么麻烦,直接用默认的 PIL 就可以获取 PNG 图片了,例子看下文。

make 方法

make方法实际上就是在内部调用了QRCode(要转换的文本).make_image(),最后(默认)返回了一个PIL图像对象。

# 显示图片qrcode.make("hello world!").show()
# 保存 PNG 图片qrcode.make("hello world!").save('hello.png')

run_example 方法

生成一个作者项目网站地址的二维码并显示出来。

相关推荐

SPC相关的计算用excel和python实现【源码下载】

做SPC分析涉及到很多计算,比如CPK、PPK、概率图、PPM等等,网上很多公式,但具体实现却不是那么容易的。我们整理了这些用excel和python实现的代码。包括但不限于以下的内容:SPC分析中的...

Python学不会来打我(34)python函数爬取百度图片_附源码

随着人工智能和大数据的发展,图像数据的获取变得越来越重要。作为Python初学者,掌握如何从网页中抓取图片并保存到本地是一项非常实用的技能。本文将手把手教你使用Python函数编写一个简单的百度图片...

django python数据中心、客户、机柜、设备资源管理平台源码分享

先转发后关注,私信“资源”即可免费获取源码下载链接!本项目一个开源的倾向于数据中心运营商而开发的,拥有数据中心、客户、机柜、设备、跳线、物品、测试、文档等一些列模块的资源管理平台,解决各类资源集中管理...

熬夜也值得学习练手的108个Python项目(附源码),太实用了!

现在学编程的人越来越多,Python因为简单好上手、功能又强大,成了很多人的首选。不管是做数据分析、人工智能,还是写网络程序、自动化脚本,Python都能派上用场。而且它诞生的时间比网页还早,作为...

这五个办公室常用自动化工具python源码,复制代码就能用

办公室自动化现在能看这文章的恐怕大部分都是办公室久坐工作者,很多都有腰肌劳损、肩周炎等职业病,难道就不能有个工具缓解一下工作量吗?那么恭喜你点进了这篇文章,这篇文章将使用python直接实现五个常...

将python源代码封装成window可执行程序教程

将python源代码封装成window可执行程序教程点击键盘win+r打开运行框在运行框中输入cmd,进入到命令行。在命令行中输入piplist去查看当前电脑中所有的库检查是否有pyinstall...

Python 爬虫如何爬取网页源码?(爬虫获取网页源代码)

下面教大家用几行代码轻松爬取百度首页源码。什么是urllib?urllib库是Python内置的HTTP请求库,它可以看做是处理URL的组件集合。urllib库包含了四大模块,具体如下:urllib....

Python RPC 之 Thrift(python是做什么的)

thrift-0.12.0python3.4.3Thrift简介:Thrift是一款高性能、开源的RPC框架,产自Facebook后贡献给了Apache,Thrift囊括了整个RP...

用Python编写FPGA以太网MAC(附源码下载方式)

来源:EETOP作者:ccpp123略作了解后发现,MyHDL不是高层次综合,它实际上是用Python的一些功能实现了一个Verilog仿真器,能对用Python写的仿Verilog语言进行仿...

python爬虫常用工具库总结(python爬虫工具下载)

说起爬虫,大家可能第一时间想到的是python,今天就简单为大家介绍下pyhton常用的一些库。请求库:实现基础Http操作urllib:python内置基本库,实现了一系列用于操作url的功能。...

手把手教你使用scrapy框架来爬取北京新发地价格行情(理论篇)

来源:Python爬虫与数据挖掘作者:霖hero大家好!我是霖hero。上个月的时候,我写了一篇关于IP代理的文章,手把手教你使用XPath爬取免费代理IP,今天在这里分享我的第二篇文章,希望大家可以...

2025年Python爬虫学习路线:第1阶段 爬虫基础入门开始

这个阶段的目标是让你熟悉Python的基础知识、了解HTTP请求和HTML是如何工作的,并最终完成你的第一个爬虫小项目——抓取名言!按照计划,我们首先要打好Python基础。Python就像是我们要...

如何入门 Python 爬虫?(python零基础爬虫)

1.很多人一上来就要爬虫,其实没有弄明白要用爬虫做什么,最后学完了却用不上。大多数人其实是不需要去学习爬虫的,因为工作所在的公司里有自己的数据库,里面就有数据来帮助你完成业务分析。什么时候要用到爬虫呢...

突破爬虫瓶颈:Python爬虫核心能力提升与案例实操

技术控必看!Python爬虫高手进阶全攻略,解锁数据处理高阶玩法在数字化时代,Python爬虫早已成为数据探索者手中的得力工具。从基础的网页抓取到复杂的数据处理,每一次技术升级都能带来新的突破。本文将...

网络爬虫开源框架(网络爬虫的框架)

目前开源爬虫下载框架是百花齐放,各个编程语言都有,以下主要介绍其中重要的几个:1)python:scrapy,pyspider,gcrawler2)Java:webmagic,WebCollector...

取消回复欢迎 发表评论: