返回顶部
首页 > 资讯 > 后端开发 > Python >python利用winreg生成桌面路径及实现扫描二维码图片返回相关信息
  • 810
分享到

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

2024-04-02 19:04:59 810人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、winreg生成桌面路径二、实现扫描二维码图片返回相关信息1、模块准备2、代码解析3、代码展示前言: 在平时敲代码过程中,我们会经常读取或者保存文件到桌面,你自己一个人使用倒

前言:

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

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

一、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生成路径内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

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

本文链接: https://lsjlt.com/news/118850.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作