python 生成qrcode二维码

测试环境:python3.4

qrcode二维码

生活中非常常见的正方形二维码,除右小角外其他三个边角都有一个黑色矩形框,二维码中间可以有图片,如下图:
qrcode二维码(来自百度知道)

优点
具有存储的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。
具有可四个级别的纠错能力:

  • L级:约可纠错7%的数据码字
  • M级:约可纠错15%的数据码字
  • Q级:约可纠错25%的数据码字
  • H级:约可纠错30%的数据码字

python二维码模块

python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块。

qrcode模块安装

运行命令行工具(cmd),使用pip安装工具分别安装qrcode和pillow。

pip install qrcode
pip install pillow

为什么安装的不是PIL呢?PIL模块只支持python2.7及以下版本,python3之后无法使用,官方推荐python3.x使用pillow代替PIL模块,实际上pillow的与PIL完全兼容,部分功能还得到完善。
如果不想使用pip安装,或者想单独下载离线安装,请登陆python官网PyPI栏目,搜索pillow,并选择最新版本。当前最新版本:Pillow3.2

安装过程常见问题

如果安装过程中没有遇到问题,请跳过。
1. PIL无法安装,PyPI查找PIL发现不支持python3.x以上版本。安装pillow。
2. 提示pip版本过低,需要升级,按照提示信息内容,执行cmd命令 python -m pip install --upgrade pip 升级pip版本。
pip版本过低提示信息:

You are using pip version 8.0.3, however version 8.1.1 is available.You should consider upgrading via the ‘python -m pip install –upgrade pip’ command.

认识qrcode模块

管中窥豹——示例程序学习

欲快速掌握一个模块的基本用法,莫过于阅读模块提供的测试用例或者demo程序,对于需求简单的功能,只需在demo的基础上略微升级改造即可满足要求。一起来看看qrcode的example。

import qrcode

qrcode.run_example()

运行结束后自动打开一张生成好的二维码图片。源码example()的实现如下:

def run_example(data="http://www.lincolnloop.com", *args, **kwargs):
    """
    Build an example QR Code and display it.

    There's an even easier way than the code here though: just use the ``make``
    shortcut.
    """
    qr = QRCode(*args, **kwargs)
    qr.add_data(data)

    im = qr.make_image()
    im.show()

生成二维码的步骤:
1. 创建QRCode对象
2. add_data()添加数据
3. make_image()创建二维码(返回im类型的图片对象)
4. 自动打开图片,im.show()

练习1:简单调用

将网站URL地址生成二维码图片,以.png的形式保存图片到本地,自动显示生成结果。

import qrcode

data = 'http://write.blog.csdn.net/'
img_file = r'D:\py_qrcode.png'

img = qrcode.make(data)
# 图片数据保存至本地文件
img.save(img_file)
# 显示二维码图片
img.show()

此处并没有使用add_data()添加数据,make_image()生成二维码,而是使用qrcode.make(data)的方式获取im对象。qrcode.make()是qrcode提供简单调用接口。

qrcode.make()函数实现中封装qrcode对象创建、添加数据、生成im对象的操作。

源代码如下:

def make(data=None, **kwargs):
    qr = QRCode(**kwargs)
    qr.add_data(data)
    return qr.make_image()
练习2:生成参数

文章开头提到qrcode可以选择不同的纠错级别,生成不同大小的二维码图片,只需要在实例化QRCode设置不同的参数,就能满足要求。

import qrcode

data = 'http://write.blog.csdn.net/'
img_file = r'D:\py_qrcode.png'

qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4
)

qr.add_data(data)
qr.make(fit=True)
img = qr.make_image()
img.save(img_file)
img.show()

QRCode参数详细说明:

  • version: 一个整数,范围为1到40,表示二维码的大小(最小值是1,是个12×12的矩阵),如果想让程序自动生成,将值设置为 None 并使用 fit=True 参数即可。
  • error_correction: 二维码的纠错范围,可以选择4个常量:
    ERROR_CORRECT_L 7%以下的错误会被纠正
    ERROR_CORRECT_M (default) 15%以下的错误会被纠正
    ERROR_CORRECT_Q 25 %以下的错误会被纠正
    ERROR_CORRECT_H. 30%以下的错误会被纠正
  • boxsize: 每个点(方块)中的像素个数
  • border: 二维码距图像外围边框距离,默认为4,而且相关规定最小为4

参考链接

Python下使用QRCode模块,生成二维码

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 可以使用 Pythonqrcode 库来生成二维码。首先需要安装 qrcode 库,可以使用 pip 命令进行安装: ``` pip install qrcode ``` 然后可以使用以下代码来生成二维码: ```python import qrcode qr = qrcode.QRCode( version=1, box_size=10, border=5 ) data = "https://www.example.com" qr.add_data(data) qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white") img.save("qrcode.png") ``` 这样就能在当前目录下生成一个名为 qrcode.png 的二维码图片. ### 回答2: Python是一种功能强大的编程语言,经常用来开发各种应用程序。Python有许多库和模块可以用来生成二维码。其中一个流行的库是qrcode库。它提供了一种简单的方法来生成QR码。 生成QR码非常简单,只需要在Python中安装qrcode库并使用以下代码即可: ``` import qrcode img = qrcode.make('hello') img.save('hello.png') ``` 上述代码创建了一个包含“hello”字符串的QR码,并将其保存到名为“hello.png”的文件中。 除了基本的QR码之外,qrcode库还支持其他选项,例如自定义QR码大小和颜色,添加图像和LOGO等。例如,下面的代码生成了一个红色的QR码,并将一个LOGO添加到它的中心: ``` import qrcode img = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_Q, box_size=10, border=4, ) img.add_data('hello') img.make(fit=True) # 添加logo icon = Image.open('logo.png') img_size = img.get_matrix().width icon_size = int(img_size / 4) icon = icon.resize((icon_size, icon_size), Image.ANTIALIAS) w, h = icon.size x, y = int((img_size - w) / 2), int((img_size - h) / 2) img.paste(icon, (x, y)) img = img.make_image(fill_color="red", back_color="white") img.save('hello.png') ``` 总之,使用Pythonqrcode库是一种快速,简单和灵活生成QR码的方法。它提供了多种选项,使用户能够轻松为QR码添加颜色,图像或LOGO等自定义内容。 ### 回答3: Python是一种通用编程语言,可用于处理各种常见的编程问题。在Python中,我们可以使用第三方库来生成二维码。其中最常用的是qrcode库,它可以用来创建并输出QR code。 首先,我们需要使用pip来安装qrcode库。在命令行界面中输入以下命令即可: pip install qrcode 一旦qrcode库安装完成,我们就可以使用Python生成二维码了。下面是一个基本的代码段,可以用于生成一个最简单的二维码: ``` import qrcode img = qrcode.make('https://www.example.com/') img.show() ``` 在这个例子中,我们首先导入了qrcode库。接着,我们定义了一个字符串变量,它包含了将要生成二维码所代表的URL。然后,我们使用make()函数来生成QR code,然后用show()方法来输出它。这个QR code会在一个新的窗口中显示出来。 在这个基础上,我们可以根据需要进行定制,以实现更专业的QR code生成。例如,我们可以使用size选项来指定二维码的尺寸,使用color选项来指定二维码的颜色,使用box_size选项来指定QR code中的方块大小等等。 在Python中使用qrcode生成QR code非常容易,即使是对于初学者也是如此。有了它,你可以轻松地在Python生成高品质、高精度的QR code。不仅如此,qrcode库还有非常好的文档和例子。因此,即使你是一个新手,你也能很快地开始使用它来生成二维码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值