Python 使用检查磁盘上文件的新类型扩展json模式
我想写一个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代码可
{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)