如何使用Python搞個二維條碼?多種方法分享

2022-10-11 22:00:23
如何使用Python搞個二維條碼?下面本篇文章給大家分享多種使用Python實現二維條碼的方法。如果你需要用Python搞個二維條碼,那應該收藏這篇部落格!

程式設計師必備介面測試偵錯工具:

作為一名合格的 Python 程式設計師,在工作中必然會用到二維條碼相關操作,那如何快速的用 Python 實現呢?彆著急,咱們這篇部落格就為你解決。

暫時用不到也沒有關係,點贊+收藏,畢竟這麼全的文章也不好找。

文章會為大家帶來最常見,最簡單,最實用的 4 種 Python 二維條碼生成方式。

pyqrcode 實現二維條碼

上來為你展示的就是一款第三方二維條碼模組,開源高效才是當今編碼界的主流。

pyqrcode 是一款 老牌 二維條碼生成模組了,安裝之後三行程式碼就能搞定一個簡單的二維條碼圖片。

pip install pyqrcode
登入後複製

模組安裝之後,直接展示入門 Demo,為了可以生成圖片,還需要額外安裝一個模組,即 pip install pypng

import pyqrcode
import png
qr = pyqrcode.create('夢想橡皮擦')
qr.png('ca.png', scale=5)
登入後複製

執行程式碼,直接生成一個文字二維條碼,由於部分站點遮蔽二維條碼圖片內容,可自行使用手機進行掃碼測試。

除生成 PNG 圖片外,還可以直接生成一個 svg 圖片。

import pyqrcode
import png
qr = pyqrcode.create('夢想橡皮擦')
# qr.png('ca.png', scale=5)
qr.svg("./ca.svg", scale=8, background="white", module_color="#03a9f4")
登入後複製

上述方法中的引數不做特殊說明,相信大家通過引數名直接學習掌握,詳細引數說明也可以閱讀官方手冊,進行簡單搜尋即可找到。

import pyqrcode
import png
qr = pyqrcode.create('夢想橡皮擦')
# qr.png('ca.png', scale=5)
# qr.svg("./ca.svg", scale=8, background="white", module_color="#03a9f4")
qr.png('./code.png', scale=5, m
登入後複製

qrcode 實現二維條碼

第二個推薦的模組與上一模組名稱雷同,也是比較老牌的第三方模組,而且該模組在實戰中出場頻率非常高。

pip install qrcode
登入後複製

為了快速學習,直接檢視範例程式碼:

import qrcode
qr = qrcode.QRCode(
    version=None,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    border=4,
    box_size=10
)
img = qrcode.make('夢想橡皮擦',version=4,border=4,box_size=12)
img.save('ca.jpg')  # 儲存圖片
登入後複製

qrcode 模組中最重要的方法是 qrcode.QRCode,其引數簡單說明如下:

  • version:二維條碼大小,1-40 不等;
  • error_correction:二維條碼糾錯範圍,4 個常數值在下文說明;
  • box_size:二維條碼中每個小格子包含的畫素數;
  • border:邊框,二維條碼與圖片邊界的距離。

二維條碼糾錯範圍,可以選擇 4 個常數:

  • ERROR_CORRECT_L: 7%以下的錯誤會被糾正;

  • ERROR_CORRECT_M (預設值): 15%以下的錯誤會被糾正;

  • ERROR_CORRECT_Q:25%以下的錯誤會被糾正;

  • ERROR_CORRECT_H:30%以下的錯誤會被糾正。

MyQR 實現二維條碼

又一款二維條碼生成模組,安裝命令如下所示:

pip install MyQR
登入後複製

該模組比較年輕,需要將 pillow 升級到最新版本,使用如下命令:

pip install pillow>=8.3.2
登入後複製

先看一下普通的二維條碼生成:

from MyQR import myqr

myqr.run(words="cacaca", version=9,
         save_name="ca1.png",
         save_dir="./")
登入後複製

該二維條碼模組的一大特色就是可以實現動圖效果,程式碼如下:

from MyQR import myqr

myqr.run(words="https://juejin.cn/user/3966693684027512", version=3, picture="./in.gif", colorized=True,
         save_name="ca.gif",
         save_dir="./")
登入後複製

動圖也給你準備好了。

run() 方法中主要的幾個引數說明如下:

  • words:二維條碼文字內容(不支援中文);
  • picture:背景圖片;
  • colorsize:True,表示生成彩圖;
  • save_name:二維條碼圖片的名字。

Amazing-QR 實現二維條碼

可生成普通二維條碼、帶圖片的藝術二維條碼(黑白與彩色)、動態二維條碼(黑白與彩色)。

安裝命令如下所示:

pip install amzqr
登入後複製

範例程式碼也非常簡單。

# 安裝模組後
from amzqr import amzqr
import os
version, level, qr_name = amzqr.run(
    'cacaca',
    version=1,
    level='H',
    picture=None,
    colorized=False,
    contrast=1.0,
    brightness=1.0,
    save_name='ca_amzqr.png',
    save_dir=os.getcwd()
)
登入後複製

中文識別也不是很好,需要進行修改,如果覺得引數過多,可以直接進行簡化,只保留 words 引數即可。

from amzqr import amzqr
amzqr.run(words='https://juejin.cn/user/3966693684027512')
登入後複製

預設在執行目錄生成一個名稱為 qrcode.png 的圖片。

【相關推薦:Python3視訊教學

以上就是如何使用Python搞個二維條碼?多種方法分享的詳細內容,更多請關注TW511.COM其它相關文章!