Python 使用检查磁盘上文件的新类型扩展json模式

Python 使用检查磁盘上文件的新类型扩展json模式,python,json,schema,Python,Json,Schema,我想写一个JSON模式。 它支持基本类型,如{integet,strings,etc} 我想定义一个类型{file} 并希望自动检查该文件是否以pyhsic方式存在 有办法吗 谢谢 你可以试试这样的。如果路径存在,模式将返回文件名,否则将不返回任何文件名您需要为此编写一个python代码,最终生成您想要的json。这一点非常不清楚。JSON模式用于验证JSON。但是JSON没有“文件”类型。我的意思是,我想要验证的JSON可以有URI,我想用一种方法在JSON中定义URI,并且python代码可

我想写一个JSON模式。 它支持基本类型,如
{integet,strings,etc}

我想定义一个类型
{file}

并希望自动检查该文件是否以pyhsic方式存在

有办法吗

谢谢


你可以试试这样的。如果路径存在,模式将返回文件名,否则将不返回任何文件名

您需要为此编写一个python代码,最终生成您想要的json。这一点非常不清楚。JSON模式用于验证JSON。但是JSON没有“文件”类型。我的意思是,我想要验证的JSON可以有URI,我想用一种方法在JSON中定义URI,并且python代码可以实际检查pyhsical presenceu可以使用这个库
from schema import Schema, And, Or, Use, SchemaError
import os

a = open('test2.txt', 'w+')
a.close()

def checkFileExists(fileName):
    if os.path.exists(fileName):
        return fileName
    return None

data = {
    'filepath': 'test.txt', # doesn't exist case
    'filepath1': 'test2.txt'
}

s = Schema({
    'filepath': Use(checkFileExists),  # doesn't exist case
    'filepath1': Use(checkFileExists)
})

try:
    validaData = s.validate(data)
    print(validaData)
except SchemaError as error:
    print(error)