在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录
簡介
二維碼簡稱?QR Code(Quick Response Code),學名為快速響應矩陣碼,是二維條碼的一種,由日本的?Denso Wave?公司于 1994 年發明。現隨著智能手機的普及,已廣泛應用于平常生活中,例如商品信息查詢、社交好友互動、網絡地址訪問等等。
下面是我使用qrcode生成的自己博客的二維碼,歡迎關注。
可以使用python提供的qrcode庫來快速生成二維碼,該庫的官方地址是
https://pypi.org/project/qrcode/
目前最新的版本是6.0,參見
安裝依賴庫
下面的例子中需要用到依賴庫pillow,它是PIL的fork,它們之間關系和兼容錯綜復雜,兩者只能存在一個。我們這里是只安裝pillow
PIL(Python Imaging Library)是Python常用的圖像處理庫,而Pillow是PIL的一個友好Fork,提供了了廣泛的文件格式支持,強大的圖像處理能力,主要包括圖像儲存、圖像顯示、格式轉換以及基本的圖像處理操作等。
安裝pillow和qrcode
這里給出的例子只需要qrcode和pillow就可以了。
sudo pip qrcode
sudo pip pillow
sudo pip install matplotlib
?
使用方法
可以使用命令行和python代碼兩種形式來生成二維碼
1.命令行方式
等qrcode安裝好之后,在命令行可以直接執行qr命令
在命令行直接執行下面的代碼,將會在當前目錄下面生成指定的二維碼圖片
qr "tao_627" > test.png
qr --factory=svg-path "Some text" > test1.svg
qr --factory=svg "Some text" > test2.svg
qr --factory=svg-fragment "Some text" > test3.svg
?
2.python代碼方式
這其中又分為簡單玩法和高級玩法,參見官網上面的樣例
簡單玩法的樣例
#!/usr/bin/env python
#encoding: utf-8
#date: 2018-12-17
#description: 演示Python版本的QR Code generator庫的簡單用法import qrcodeimg = qrcode.make('Some data here')
img.save('demo1.png')
高級玩法的樣例
#!/usr/bin/env python
#encoding: utf-8
#date: 2018-12-17
#description: 演示Python版本的QR Code generator庫的高級用法import qrcodeqr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,)
qr.add_data('Some data')
qr.make(fit=True)img = qr.make_image(fill_color="black", back_color="white")
img.save('demo2.png')
參數含義:
version:值為1~40的整數,控制二維碼的大小(最小值是1,是個12×12的矩陣)。 如果想讓程序自動確定,將值設置為 None 并使用 fit 參數即可。
error_correction:控制二維碼的錯誤糾正功能。可取值下列4個常量。
ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。
ERROR_CORRECT_M(默認):大約15%或更少的錯誤能被糾正。
ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。
box_size:控制二維碼中每個小格子包含的像素數。
border:控制邊框(二維碼與圖片邊界的距離)包含的格子數(默認為4,是相關標準規定的最小值)
執行如下
python qrcode_demo1.py
python qrcode_demo2.py
將會在當前目錄下面生成demo1.png和demo2.png的圖片,使用微信等掃描二維碼,會顯示我們設置的數據"Some data here"和“Some data”
參考文獻
[1].https://www.cnblogs.com/linjiqin/p/4140455.html
?
總結
以上是生活随笔為你收集整理的在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Ubuntu 16.04.5 LTS上
- 下一篇: 在ubuntu 16.04.5 LTS上