亲宝软件园·资讯

展开

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

加载全部内容

相关教程
猜你喜欢
用户评论