python生成路径
knighthood2001 人气:0前言:
在平时敲代码过程中,我们会经常读取或者保存文件到桌面,你自己一个人使用倒还好,如果你将你的代码给别人使用,别人在使用过程中就很有可能因为找不到路径而报错,接着就要去更改路径相关的代码,这就显得比较麻烦。
这次分享一个桌面路径获取的函数,以后只要复制并调用这个函数就好。
一、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在同一目录下
加载全部内容