Python第三方庫qrcode或MyQr生成博客地址二維碼
前期準備
qrcode
下載地址:
qrcode · PyPI
QR Code image generator
https://pypi.org/project/qrcode/
使用簡介:
import qrcode qr = qrcode.QRCode( version=5, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data('https://blog.csdn.net/boysoft2002/article/details/120213715') qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white")
MyQR
下載地址:
MyQR · PyPI
https://pypi.org/project/MyQR/
使用簡介:
from MyQR import myqr myqr.run(words = 'https://blog.csdn.net/boysoft2002/article/details/120257133', save_name = 'qrcode.jpg' ) #生成帶背景圖片的二維碼 myqr.run(words = 'https://blog.csdn.net/boysoft2002/article/details/120242318', picture = r'background.jpg', #支持動態gif作背景 colorized = True, # True:彩色,False:黑白 save_name = 'qrcode.png' )
安裝第三方庫
如下二選一安裝都可以,若存在其它依賴庫請一並安裝:
D:\>pip install qrcode Collecting qrcode Downloading qrcode-7.3.tar.gz (43 kB) |████████████████████████████████| 43 kB 191 kB/s Collecting colorama Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB) Using legacy 'setup.py install' for qrcode, since package 'wheel' is not installed. Installing collected packages: colorama, qrcode Running setup.py install for qrcode ... done Successfully installed colorama-0.4.4 qrcode-7.3 D:\>pip install MyQr Collecting MyQr Downloading MyQR-2.3.1.zip (16 kB) Collecting imageio>=1.5 Downloading imageio-2.9.0-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB 3.2 MB/s Requirement already satisfied: numpy>=1.11.1 in d:\python\lib\site-packages (from MyQr) (1.20.2) Requirement already satisfied: Pillow>=3.3.1 in d:\python\lib\site-packages (from MyQr) (8.2.0) Using legacy 'setup.py install' for MyQr, since package 'wheel' is not installed. Installing collected packages: imageio, MyQr Running setup.py install for MyQr ... done Successfully installed MyQr-2.3.1 imageio-2.9.0
代碼
以qrcode為例,快速生成博客的二維碼(粘貼自己的網址到urls變量中,文章標題非必須項)。
urls = ''' Python 斐波那契數列遞歸的改進,算第1000萬項隻要4秒鐘! https://blog.csdn.net/boysoft2002/article/details/120257133 Python 不自己試試,還真猜不出遞歸函數的時間復雜度! https://blog.csdn.net/boysoft2002/article/details/120242318 Python 算法的時間復雜度和空間復雜度 (實例解析) https://blog.csdn.net/boysoft2002/article/details/120213715 Python 控制臺操作的文字版“數獨”遊戲(非GUI版本) https://blog.csdn.net/boysoft2002/article/details/120202704 ''' import re,os,qrcode import tkinter as tk url = re.findall(r'https://.*[0-9]', urls) for i,u in enumerate(url): if u.find('?')!=-1: url[i] = u[:u.find('?')] #print(u) imgs,index = [],0 for u in url: img = qrcode.make(u) id = u[::-1] id = id[:id.find('/')][::-1] imgs.append('qrcode'+id+'.png') with open(imgs[-1],'wb') as f: img.save(f) def nextqr(): global imgs,index,png,qrc index += 1 if index==len(imgs):index = 0 btn['text']=f'No:{index+1}: {imgs[index]}' png = tk.PhotoImage(file=imgs[index]) qrc = cv.create_image(205,205,image=png) cv.update() def on_close(): global imgs p = os.getcwd() if p[-1]!='\\': p += '\\' for f in imgs: os.remove(p+f) root.destroy() root = tk.Tk() root.geometry('600x520') root.title('Qrcode') cv = tk.Canvas(root, width=410, height=410) cv.pack() png = tk.PhotoImage(file=imgs[0]) qrc = cv.create_image(205,205,image=png) btn = tk.Button(root,text=f'No:1: {imgs[0]}',command=nextqr,fg='red') btn.place(x=220,y=450) root.protocol("WM_DELETE_WINDOW", on_close) root.mainloop()
運行效果
點擊 button 按鈕逐個展示二維碼:
我的使用環境:Windows7 + Python3.8.8
–All done!
以上就是Python第三方庫qrcode或MyQr生成博客地址二維碼的詳細內容,更多關於Python第三方庫生成博客地址二維碼的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python 使用MyQR和qrcode來制作二維碼
- 如何用Python生成二維碼、解析二維碼
- Python生成二維碼的教程詳解
- Python一行代碼實現生成和讀取二維碼
- 微信小程序二維碼生成工具 weapp-qrcode詳解