日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python利用winreg生成桌面路徑及實現掃描二維碼圖片返回相關信息_python

作者:knighthood2001 ? 更新時間: 2022-08-12 編程語言

前言:

在平時敲代碼過程中,我們會經常讀取或者保存文件到桌面,你自己一個人使用倒還好,如果你將你的代碼給別人使用,別人在使用過程中就很有可能因為找不到路徑而報錯,接著就要去更改路徑相關的代碼,這就顯得比較麻煩。

這次分享一個桌面路徑獲取的函數,以后只要復制并調用這個函數就好。

一、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()

首先需要導入winreg模塊。

winreg是python的一個標準庫,用來對windows注冊表的操作。

注意:return desktop 在這里是必須的,如果沒有return語句,則python默認返回值為None。

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

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

這是使用函數后的代碼:

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

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

二、實現掃描二維碼圖片返回相關信息

1、模塊準備

這里需要用到PIL和pyzbar模塊

2、代碼解析

img = Image.open(image)

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

barcodes = pyzbar.decode(img)

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

因為一張圖片可能是一張二維碼,也可能里面有許多二維碼,因此需要遍歷解析出的圖片信息并進行utf-8格式的轉換

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

最后將它們封裝成函數即可。

3、代碼展示

QRcode_message.py

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

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

原文鏈接:https://blog.csdn.net/knighthood2001/article/details/124021225

欄目分類
最近更新