最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實現(xiàn)在線二維碼生成工具

 更新時間:2022年05月17日 14:31:20   作者:費弗里  
這篇文章將為大家展示如何通過純Python編程的方式,開發(fā)出一個網(wǎng)頁應(yīng)用—基于輸入的網(wǎng)址等文字內(nèi)容實現(xiàn)二維碼的生成,感興趣的可以學習一下

在今天的教程中,費老師我將為大家展示如何通過純Python編程的方式,開發(fā)出一個網(wǎng)頁應(yīng)用,從而幫助用戶直接通過瀏覽器訪問,即可基于輸入的網(wǎng)址等文字內(nèi)容,完成常規(guī)二維碼、靜態(tài)底圖二維碼以及動圖底圖二維碼的快捷生成,先來看一看應(yīng)用的主要功能操作演示:

只寫Python開發(fā)這樣精致的工具應(yīng)用非常簡單,下面我來帶大家從搭建環(huán)境開始,學習整個過程:

1.環(huán)境搭建

首先我們來創(chuàng)建應(yīng)用的虛擬開發(fā)環(huán)境,建議使用Conda,命令如下:

創(chuàng)建虛擬環(huán)境并激活

conda?create?-n?dash-qr-generator?python=3.8?-c?https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/?-y

conda?activate?dash-qr-generator

安裝相關(guān)依賴

為了可以純Python快速開發(fā)我們的應(yīng)用,我們需要安裝dash及我的開源組件庫feffery-antd-components,另外還需要安裝用于二維碼生成的第三方庫amazing-qr,全部安裝命令如下:

pip?install?dash?feffery-antd-components?amzqr

全部執(zhí)行完成后我們的應(yīng)用開發(fā)運行環(huán)境就準備好了~,接下來只需要在本文附件解壓后的根目錄執(zhí)行python app.py,接著訪問本機的127.0.0.1:8050網(wǎng)址即可使用我們的應(yīng)用。

2.二維碼生成功能的封裝

因為使用到amazing-qr這個庫來進行常規(guī)二維碼或自定義底圖二維碼的生成,為了方便在應(yīng)用中快速調(diào)用,我們可以對其進行簡單封裝,由于amazing-qr在指定底圖素材時不能設(shè)置目錄,只能使用當前工作目錄中的圖片,因此我們需要在生成圖片前切換工作目錄到素材所在的目錄,并在生成二維碼結(jié)束后還原先前的工作目錄:

utils.py

import?os
from?amzqr?import?amzqr
from?pathlib?import?Path

def?generate_qr(mode:?str?=?'default',
????????????????words:?str?=?None,
????????????????version:?int?=?None,
????????????????level:?str?=?None,
????????????????picture_dir:?str?=?None,
????????????????picture:?str?=?None,
????????????????contrast:?float?=?None,
????????????????brightness:?float?=?None,
????????????????save_name:?str?=?None,
????????????????save_dir:?str?=?None):
????'''
????用于控制二維碼圖片的生成
????:param?mode:?模式,可選的有default(常規(guī)二維碼static(靜態(tài)底圖)和motion(動態(tài)底圖),默認為default
????:param?words:?二維碼需要嵌入的信息
????:param?version:?邊長大小,取值在1到40之間,越大圖片越精細
????:param?level:?糾錯水平,可選的有L、M、Q、H,從左往右越大越精準
????:param?picture_dir:?底圖文件的絕對路徑
????:param?picture:?底圖文件名
????:param?contrast:?對比度,取值在0到1之間
????:param?brightness:?亮度,取值在0到1之間
????:param?save_name:?導出文件名
????:param?save_dir:?導出文件絕對路徑
????:return:
????'''

????#?mode:?default
????if?mode?==?'default':

????????_?=?amzqr.run(
????????????words=words,
????????????version=version,
????????????level=level,
????????????save_name=save_name,
????????????save_dir=save_dir
????????)

????#?mode:?static?|?motion
????elif?mode?==?'static'?or?mode?==?'motion':

????????origin?=?Path().absolute()

????????os.chdir(Path('caches',?picture_dir))

????????_?=?amzqr.run(
????????????words=words,
????????????version=version,
????????????level=level,
????????????picture=picture,
????????????colorized=True,
????????????contrast=contrast,
????????????brightness=brightness,
????????????save_name=save_name,
????????????save_dir=os.getcwd()
????????)

????????os.chdir(origin)

3.網(wǎng)頁應(yīng)用的搭建

在前面二維碼生成函數(shù)編寫完成的基礎(chǔ)上,下面進入我們的重點——搭建網(wǎng)頁應(yīng)用,得益于dash中構(gòu)建交互式網(wǎng)頁應(yīng)用的簡單性和極高的自由度(遠高于streamlit等玩具庫),配合我的開源組件庫框架fachttps://github.com/CNFeffery/feffery-antd-components)中近百種具有不同功能的組件,你可以利用它們快速構(gòu)建出具有各種常見功能的網(wǎng)頁應(yīng)用。

在我們的“在線二維碼圖片生成器”中,通過頂部AntdRadioGroup()構(gòu)建的單選按鈕在三種模式中進行切換,從而通過回調(diào)函數(shù)影響下面操作區(qū)所渲染出的各個表單輸入類組件,如文字輸入框AntdInput()、滑動輸入框AntdSlider()、下拉選擇AntdSelect()等:

尤其是當用戶切換到“靜態(tài)底圖”和“動態(tài)底圖”模式時,由于需要用戶上傳提供底圖素材,因此額外會渲染出圖片上傳組件AntdPictureUpload(),它在“靜態(tài)底圖”模式下還具有圖片縮放、裁切編輯功能,只需要一個參數(shù)editable=True即可實現(xiàn):

最后通過回調(diào)函數(shù)中不同模式下的參數(shù)組合,將后臺生成并導出的二維碼結(jié)果圖片推送至前端利用AntdImage()一氣呵成進行交互式展示,用戶即可直接右鍵另存為保存到本地:

本期的例子僅僅是展示了fac能力的冰山一角,事實上只要你善于利用fac中的不同功能組件,從在線小工具,到數(shù)據(jù)中臺平臺,都可以僅通過編寫Python程序輕松實現(xiàn)

到此這篇關(guān)于基于Python實現(xiàn)在線二維碼生成工具的文章就介紹到這了,更多相關(guān)Python二維碼生成內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬蟲+tkinter界面實現(xiàn)歷史天氣查詢的思路詳解

    Python爬蟲+tkinter界面實現(xiàn)歷史天氣查詢的思路詳解

    這篇文章主要介紹了Python爬蟲+tkinter界面實現(xiàn)歷史天氣查詢的思路詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • PyCharm鼠標右鍵不顯示Run unittest的解決方法

    PyCharm鼠標右鍵不顯示Run unittest的解決方法

    今天小編就為大家分享一篇PyCharm鼠標右鍵不顯示Run unittest的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python導包的幾種方法(自定義包的生成以及導入詳解)

    python導包的幾種方法(自定義包的生成以及導入詳解)

    這篇文章主要介紹了python導包的幾種方法(自定義包的生成以及導入詳解),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python抓取網(wǎng)頁圖片并放到指定文件夾

    python抓取網(wǎng)頁圖片并放到指定文件夾

    這篇文章主要介紹了python抓取網(wǎng)頁圖片并放到指定文件夾,需要的朋友可以參考下
    2014-04-04
  • react+django清除瀏覽器緩存的幾種方法小結(jié)

    react+django清除瀏覽器緩存的幾種方法小結(jié)

    今天小編就為大家分享一篇react+django清除瀏覽器緩存的幾種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python利用pandas分析學生期末成績實例代碼

    python利用pandas分析學生期末成績實例代碼

    pandas是數(shù)據(jù)分析師最常用的工具之一,這篇文章主要給大家介紹了關(guān)于python如何利用pandas分析學生期末成績的相關(guān)資料,文中給出了詳細的實現(xiàn)方法,需要的朋友可以參考下
    2021-07-07
  • 強悍的Python讀取大文件的解決方案

    強悍的Python讀取大文件的解決方案

    今天小編就為大家分享一篇關(guān)于強悍的Python讀取大文件的解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Python安裝spark的詳細過程

    Python安裝spark的詳細過程

    這篇文章主要介紹了Python安裝spark的詳細過程,本文通過圖文實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Python把圖片轉(zhuǎn)化為pdf代碼實例

    Python把圖片轉(zhuǎn)化為pdf代碼實例

    這篇文章主要介紹了Python把圖片轉(zhuǎn)化為pdf代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Python3爬蟲使用Fidder實現(xiàn)APP爬取示例

    Python3爬蟲使用Fidder實現(xiàn)APP爬取示例

    這篇文章主要介紹了Python3爬蟲使用Fidder實現(xiàn)APP爬取示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論

天镇县| 海淀区| 东辽县| 万安县| 磴口县| 昌吉市| 永寿县| 北宁市| 抚州市| 宁城县| 茌平县| 咸宁市| 屯留县| 南投县| 信丰县| 赫章县| 甘洛县| 毕节市| 上思县| 遂川县| 青龙| 金秀| 永德县| 祁阳县| 灯塔市| 四川省| 孟连| 荔浦县| 卢湾区| 大宁县| 沁阳市| 和林格尔县| 上栗县| 海南省| 平乡县| 从化市| 绍兴县| 琼海市| 兴业县| 通州区| 汾西县|