您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python如何生成和讀取二維碼”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python如何生成和讀取二維碼”文章能幫助大家解決問題。
二維碼是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的、黑白相間的、記錄數(shù)據(jù)符號信息的圖形。
二維碼被稱為快速響應(yīng)碼,可能看起來很簡單,但它們能夠存儲大量數(shù)據(jù)。無論掃描二維碼時包含多少數(shù)據(jù),用戶都可以立即訪問信息。
近些年二維碼也是迅速普及,目前已經(jīng)成為了我們生活中的一部分,它有許多應(yīng)用場景:
信息獲?。⒌貓D、WIFI密碼、資料)
網(wǎng)站跳轉(zhuǎn)(跳轉(zhuǎn)到微博、手機網(wǎng)站、網(wǎng)站)
廣告推送(用戶掃碼,直接瀏覽商家推送的視頻、音頻廣告)
手機電商(用戶掃碼、手機直接購物下單)
防偽溯源(用戶掃碼、即可查看生產(chǎn)地;同時后臺可以獲取最終消費地)
優(yōu)惠促銷(用戶掃碼,下載電子優(yōu)惠券,抽獎)
會員管理(用戶手機上獲取電子會員信息、VIP服務(wù))
手機支付(掃描商品二維碼,通過銀行或第三方支付提供的手機端通道完成支付)
賬號登錄(掃描二維碼進(jìn)行各個網(wǎng)站或軟件的登錄)
Python 處理二維碼也非常簡單,今天我們就來看看怎樣使用一行代碼生成或者讀取二維碼。
Python 有一個處理二維碼的模塊叫qrcode
,我們要生成二維碼,需要安裝這個庫:
生成二維碼就是調(diào)用這個模塊的 make
函數(shù):
import qrcode img = qrcode.make('https://www.zhihu.com/people/wu-huan-bu-san') img.save('./pic.jpg')
運行這段代碼,就可以得到下面的二維碼:
大家可以掃碼試試看,說不定有驚喜哦!
你肯定會說:騙子!這不是一行代碼??!
好吧,這兩行可以合并的嘛:
qrcode.make('https://www.zhihu.com/people/wu-huan-bu-san').save('./pic.jpg')
讀取二維碼就是將二維碼背后隱藏的信息解析出來,這時候就不是用 qrcode
這個模塊了,而是用 OpenCV 這個模塊。相信公眾號的讀者肯定對這個庫比較熟悉,經(jīng)常出現(xiàn)在我們的文章中。
先安裝這個庫:
pip install opencv-python
接著,我們以上面生成的二維碼為例,來看看讀取的代碼:
import cv2 d = cv2.QRCodeDetector() val, _, _ = d.detectAndDecode(cv2.imread("pic.jpg")) print("the secret is: ", val)
當(dāng)然Python除了可以生成靜態(tài)的二維碼,還能生成動態(tài)的
下面是實現(xiàn)動態(tài)二維碼的示例代碼,可以參考一下
# -*- coding:utf-8 -*- # @Time : 2021-09-30 # @Author : carl_DJ from MyQR import myqr #定義二維碼內(nèi)容 word = "miss U " #追加背景 myqr.run( word, #圖片類型為位.gif picture='./sohucs.gif', colorized=True, version=6 )
當(dāng)然,Python還可以制作一個自定義二維碼生成工具,可以根據(jù)自己的需求生成黑白的或者彩色的二維碼。
from gooey import GooeyParser,Gooey from MyQR import myqr @Gooey(encoding='utf-8',program_name='二維碼生成器',program_description='生成動態(tài)、彩色、黑白二維碼',language='chinese') def main(): parser = GooeyParser(description="生成動態(tài)、彩色、黑白二維碼") parser.add_argument('文本', widget="TextField") parser.add_argument('文件', widget="FileChooser") # 文件選擇框 parser.add_argument('樣式選擇', widget='Dropdown',choices={"黑白":"1","彩色":2,"動態(tài)":3}) parser.add_argument('文件保存路徑',widget='DirChooser') args = parser.parse_args() if args.樣式選擇 == '黑白': # 生成二維碼 myqr.run(words=args.文本,version=9,save_name='qr.png',save_dir=args.文件保存路徑) print('成功') elif args.樣式選擇 == '彩色': if args.文件.split('.')[-1] == 'gif' or args.文件.split('.')[-1] == 'png' or args.文件.split('.')[-1] == 'jpeg': myqr.run(words=args.文本, version=9, save_name='qr.png', save_dir=args.文件保存路徑, picture=f'{args.文件}',colorized=True) print('成功') elif args.樣式選擇 == '動態(tài)': if args.文件.split('.')[-1] == 'gif': myqr.run(words=args.文本, version=9, save_name='qrcode.gif', save_dir=args.文件保存路徑, picture=args.文件,colorized=True) else: print("圖片格式錯誤,動態(tài)二維碼圖片必須為gif格式的") if __name__ == '__main__': main()
關(guān)于“Python如何生成和讀取二維碼”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。