python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python生成路径

python利用winreg生成桌面路径及实现扫描二维码图片返回相关信息

作者:knighthood2001

这篇文章主要介绍了python生成桌面路径及实现扫描二维码图片返回相关信息,winreg是python的一个标准库,用来对windows注册表的操作,更多相关内容需要的小伙伴可以参考一下

前言:

在平时敲代码过程中,我们会经常读取或者保存文件到桌面,你自己一个人使用倒还好,如果你将你的代码给别人使用,别人在使用过程中就很有可能因为找不到路径而报错,接着就要去更改路径相关的代码,这就显得比较麻烦。

这次分享一个桌面路径获取的函数,以后只要复制并调用这个函数就好。

一、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在同一目录下

到此这篇关于python利用winreg生成桌面路径及实现扫描二维码图片返回相关信息的文章就介绍到这了,更多相关python生成路径内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文