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

Python使用qrcode二維碼庫(kù)生成二維碼方法詳解

 更新時(shí)間:2020年02月17日 14:51:57   作者:以茄之名  
這篇文章主要介紹了Python使用qrcode二維碼庫(kù)生成二維碼方法詳解,需要的朋友可以參考下

安裝qrcode庫(kù)

pip install qrcode

聲明

import qrcode

使用qrcode

QRCode 方法

qrcode.QRCode(
  version=1,
  error_correction=qrcode.ERROR_CORRECT_L,
  box_size=10,
  border=4,
  image_factory=None,
  mask_pattern=None
)

參數(shù)解釋:

  • version:控制二維碼的大小,取值范圍從1到40。取最小值1時(shí),二維碼大小為21*21。取值為 None (默認(rèn))或者使用fit=true參數(shù)(默認(rèn))時(shí),二維碼會(huì)自動(dòng)調(diào)整大小。
  • error_correction:控制二維碼糾錯(cuò)級(jí)別。

    ERROR_CORRECT_L:大約7%或者更少的錯(cuò)誤會(huì)被更正。

    ERROR_CORRECT_M:默認(rèn)值,大約15%或者更少的錯(cuò)誤會(huì)被更正。

    ERROR_CORRECT_Q:大約25%或者更少的錯(cuò)誤會(huì)被更正。

    ERROR_CORRECT_H:大約30%或者更少的錯(cuò)誤會(huì)被更正。

  • box_size:控制二維碼中每個(gè)格子的像素?cái)?shù),默認(rèn)為 10。
  • border:控制二維碼四周留白包含的格子數(shù),默認(rèn)為4。
  • image_factory:選擇生成圖片的形式,默認(rèn)為 PIL 圖像。
  • mask_pattern:選擇生成圖片的的掩模。

qrcode方法屬性解釋:

常用方法:

  • add_data(str,optimize=20):添加要轉(zhuǎn)換的文字到data參數(shù);如果使用了optimize優(yōu)化參數(shù),數(shù)據(jù)將被拆分為多個(gè)塊來(lái)進(jìn)行優(yōu)化,以找到一個(gè)長(zhǎng)度至少為這個(gè)值的足夠簡(jiǎn)潔的方式來(lái)生成二維碼。設(shè)置為“0”以避免優(yōu)化。
  • make(fit=True):當(dāng)fit參數(shù)為真或者沒有給出version參數(shù)時(shí),將會(huì)調(diào)用best_fit方法來(lái)找到適合數(shù)據(jù)的最小尺寸。如果沒有設(shè)置mask_pattern,將會(huì)調(diào)用best_mask_pattern方法來(lái)找到找到最有效的掩模圖案。最后將這些數(shù)據(jù)傳遞給makeImpl方法來(lái)生成二維碼。與qrcode本體的make方法不一樣的是,這個(gè)方法沒有任何返回值。
  • make_image(fill_color=None, back_color=None,image_factory=None):創(chuàng)建二維碼的圖像并返回,默認(rèn)為 PIL 圖像。如果要讓二維碼有顏色,可以在這里設(shè)置fill_color, back_color
  • clear:清空數(shù)據(jù)
  • get_matrix:返回二維碼數(shù)組。
  • print_ascii(out=None, tty=False, invert=False):這個(gè)方法就比較有趣了,可以用字符畫的形式來(lái)輸出二維碼,但是掃的時(shí)候一般都掃不出來(lái)。

其中的invert參數(shù)是決定是否反轉(zhuǎn)顏色的參數(shù),默認(rèn)為假,如果為真的話會(huì)這樣:

其他方法:

  • best_fit(start=self.version):找到適合數(shù)據(jù)所需的最小尺寸。
  • best_mask_pattern():找到最有效的掩模圖案。
  • makeImpl(test, mask_pattern):生成二維碼的直接函數(shù)
  • map_data:(內(nèi)部函數(shù),無(wú)需了解)
  • print_tty(out=None):用TTY顏色輸出二維碼,如果沒有給出out參數(shù),會(huì)使用sys.stdout。
  • setup_position_adjust_pattern:(內(nèi)部函數(shù),無(wú)需了解)
  • setup_position_probe_pattern:(內(nèi)部函數(shù),無(wú)需了解)
  • setup_timing_pattern:(內(nèi)部函數(shù),無(wú)需了解)
  • setup_type_info:(內(nèi)部函數(shù),無(wú)需了解)
  • setup_type_number:(內(nèi)部函數(shù),無(wú)需了解)

屬性(這些大家基本都不用管):

  • border:
  • box_size:
  • data_cache:
  • data_list:
  • error_correction:
  • image_factory:
  • mask_pattern:
  • modules:
  • modules_count:
  • version:

生成 SVG 圖像

qrcode可以生成三種不同的svg圖像,一種是用路徑表示的svg,一種是用矩形集合表示的完整svg文件,還有一種是用矩形集合表示的svg片段。第一種用路徑表示的svg其實(shí)就是矢量圖,可以在圖像放大的時(shí)候可以保持圖片質(zhì)量,而另外兩種可能會(huì)在格子之間出現(xiàn)空隙。

這三種分別對(duì)應(yīng)了svg.py中的SvgPathImage、SvgImage和SvgFragmentImage類。在調(diào)用qrcode.make函數(shù)或者實(shí)例化QRCode時(shí)當(dāng)作image_factory參數(shù)的值傳入就可以了。

import qrcode.image.svg

if method == 'basic':
  # Simple factory, just a set of rects.
  factory = qrcode.image.svg.SvgImage
elif method == 'fragment':
  # Fragment factory (also just a set of rects)
  factory = qrcode.image.svg.SvgFragmentImage
else:
  # Combined path factory, fixes white space that may occur when zooming
  factory = qrcode.image.svg.SvgPathImage

img = qrcode.make('Some data here', image_factory=factory)

生成 PNG 圖像

執(zhí)行命令安裝pymaging相關(guān)模塊:

pip install git+git://github.com/ojii/pymaging.git#egg=pymaging

pip install git+git://github.com/ojii/pymaging-png.git#egg=pymaging-png

然后給image_factor參數(shù)傳入qrcode.image.pure.PymagingImage就可以生成PNG圖片了。

import qrcode
from qrcode.image.pure import PymagingImage
img = qrcode.make('Some data here', image_factory=PymagingImage)

這是作者推薦的方式,但是我個(gè)人認(rèn)為,完全沒有必要這么麻煩,直接用默認(rèn)的 PIL 就可以獲取 PNG 圖片了,例子看下文。

make 方法

make方法實(shí)際上就是在內(nèi)部調(diào)用了QRCode(要轉(zhuǎn)換的文本).make_image(),最后(默認(rèn))返回了一個(gè)PIL圖像對(duì)象。

# 顯示圖片
qrcode.make("hello world!").show()
# 保存 PNG 圖片
qrcode.make("hello world!").save('hello.png')

run_example 方法

生成一個(gè)作者項(xiàng)目網(wǎng)站地址的二維碼并顯示出來(lái)。

更多關(guān)于Python使用qrcode二維碼庫(kù)生成二維碼方法請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • Flask模板引擎Jinja2使用實(shí)例

    Flask模板引擎Jinja2使用實(shí)例

    這篇文章主要介紹了Flask模板引擎Jinja2使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 基于python分布式爬蟲并解決假死的問題

    基于python分布式爬蟲并解決假死的問題

    這篇文章主要介紹了基于python分布式爬蟲并解決假死的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • 使用Jupyter notebooks上傳文件夾或大量數(shù)據(jù)到服務(wù)器

    使用Jupyter notebooks上傳文件夾或大量數(shù)據(jù)到服務(wù)器

    這篇文章主要介紹了使用Jupyter notebooks上傳文件夾或大量數(shù)據(jù)到服務(wù)器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 基于Python爬蟲采集天氣網(wǎng)實(shí)時(shí)信息

    基于Python爬蟲采集天氣網(wǎng)實(shí)時(shí)信息

    這篇文章主要介紹了基于Python爬蟲采集天氣網(wǎng)實(shí)時(shí)信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 余弦相似性計(jì)算及python代碼實(shí)現(xiàn)過(guò)程解析

    余弦相似性計(jì)算及python代碼實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了余弦相似性計(jì)算及python代碼實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python中Selenium模塊的使用詳解

    Python中Selenium模塊的使用詳解

    這篇文章主要介紹了Python中Selenium模塊的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python常用的內(nèi)置序列結(jié)構(gòu)(列表、元組、字典)學(xué)習(xí)筆記

    Python常用的內(nèi)置序列結(jié)構(gòu)(列表、元組、字典)學(xué)習(xí)筆記

    序列指元素排成一列的數(shù)據(jù)結(jié)構(gòu),Python中有l(wèi)ist列表而沒有默認(rèn)內(nèi)置array數(shù)組,以下我們來(lái)整理一下Python常用的內(nèi)置序列結(jié)構(gòu)(列表、元組、字典)學(xué)習(xí)筆記
    2016-07-07
  • Python使用SymSpell打造簡(jiǎn)單的極速拼寫檢查引擎

    Python使用SymSpell打造簡(jiǎn)單的極速拼寫檢查引擎

    在自然語(yǔ)言處理(NLP)領(lǐng)域,拼寫檢查是提升文本質(zhì)量的關(guān)鍵環(huán)節(jié),SymSpell是一個(gè)基于對(duì)稱刪除算法的Python庫(kù),下面小編就和大家詳細(xì)講講如何使用SymSpell打造簡(jiǎn)單的極速拼寫檢查引擎吧
    2026-04-04
  • python等差數(shù)列求和公式前 100 項(xiàng)的和實(shí)例

    python等差數(shù)列求和公式前 100 項(xiàng)的和實(shí)例

    今天小編就為大家分享一篇python等差數(shù)列求和公式前 100 項(xiàng)的和實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python3.5 Pandas模塊之DataFrame用法實(shí)例分析

    Python3.5 Pandas模塊之DataFrame用法實(shí)例分析

    這篇文章主要介紹了Python3.5 Pandas模塊之DataFrame用法,結(jié)合實(shí)例形式詳細(xì)分析了Python3.5中Pandas模塊的DataFrame結(jié)構(gòu)創(chuàng)建、讀取、過(guò)濾、獲取等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-04-04

最新評(píng)論

博兴县| 都安| 新野县| 大洼县| 大丰市| 临桂县| 南木林县| 定远县| 明光市| 石家庄市| 昔阳县| 静宁县| 江川县| 武鸣县| 新巴尔虎左旗| 冕宁县| 江西省| 建宁县| 嘉峪关市| 拉萨市| 德惠市| 泌阳县| 淳化县| 浏阳市| 壤塘县| 达尔| 宿州市| 铜梁县| 宜川县| 泰兴市| 乳山市| 泸定县| 玉林市| 荣昌县| 云梦县| 郴州市| 白朗县| 北川| 仁化县| 上饶县| 天镇县|