溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python怎么利用winreg生成桌面路徑及實(shí)現(xiàn)掃描二維碼圖片返回相關(guān)信息

發(fā)布時(shí)間:2022-06-22 09:49:33 來(lái)源:億速云 閱讀:150 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“python怎么利用winreg生成桌面路徑及實(shí)現(xiàn)掃描二維碼圖片返回相關(guān)信息”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“python怎么利用winreg生成桌面路徑及實(shí)現(xiàn)掃描二維碼圖片返回相關(guān)信息”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

一、winreg生成桌面路徑

代碼如下:

import winreg
def desktop_path():
    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
    desktop = winreg.QueryValueEx(key, "Desktop")[0]
    # print(desktop)
    return desktop
desktop_path()

首先需要導(dǎo)入winreg模塊。

winreg是python的一個(gè)標(biāo)準(zhǔn)庫(kù),用來(lái)對(duì)windows注冊(cè)表的操作。

注意:return desktop 在這里是必須的,如果沒(méi)有return語(yǔ)句,則python默認(rèn)返回值為None。

這是之前需要手寫(xiě)桌面路徑的代碼:

name = input("請(qǐng)輸入你的文件名(帶后綴):")
wenjian = r"C:\Users\knighthood\OneDrive\桌面\{}".format(name)

這是使用函數(shù)后的代碼:

name = input("請(qǐng)輸入你的文件名(帶后綴):")
wenjian = "{}\{}".format(desktop_path(), name)

現(xiàn)在就只要輸入你文件名和后綴名就行,省去了桌面路徑的查找與復(fù)制。

二、實(shí)現(xiàn)掃描二維碼圖片返回相關(guān)信息

1、模塊準(zhǔn)備

這里需要用到PIL和pyzbar模塊

2、代碼解析

img = Image.open(image)

Image.open(image)用來(lái)讀取圖片

barcodes = pyzbar.decode(img)

pyzbar.decode(img)用于解析圖片信息

因?yàn)橐粡垐D片可能是一張二維碼,也可能里面有許多二維碼,因此需要遍歷解析出的圖片信息并進(jìn)行utf-8格式的轉(zhuǎn)換

    for barcode in barcodes:
        barcodeData = barcode.data.decode("utf-8")

最后將它們封裝成函數(shù)即可。

3、代碼展示

QRcode_message.py

# -*- coding: utf-8-*-
from PIL import Image
import pyzbar.pyzbar as pyzbar
 
def QRcode_message(image):
    img = Image.open(image)
    # 因?yàn)橐粡垐D片可能是一張二維碼,也可能里面有許多二維碼
    barcodes = pyzbar.decode(img)
    for barcode in barcodes:
        barcodeData = barcode.data.decode("utf-8")
        print(barcodeData)
 
if __name__ == '__main__':
    QRcode_message('test.jpg')

注意:準(zhǔn)備好的圖片要和QRcode_message.py在同一目錄下

讀到這里,這篇“python怎么利用winreg生成桌面路徑及實(shí)現(xiàn)掃描二維碼圖片返回相關(guān)信息”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI