前言:
在平时敲代码过程中,我们会经常读取或者保存文件到桌面,你自己一个人使用倒还好,如果你将你的代码给别人使用,别人在使用过程中就很有可能因为找不到路径而报错,接着就要去更改路径相关的代码,这就显得比较麻烦。
这次分享一个桌面路径获取的函数,以后只要复制并调用这个函数就好。
一、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生成路径内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
查看更多关于python利用winreg生成桌面路径及实现扫描二维码图片返回相关信息的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did16442