расширение схемы JSON новым типом, который проверяет файл на диске - PullRequest
0 голосов
/ 31 октября 2019

Я хочу написать схему JSON. Он поддерживает основные типы, такие как {integet, strings, etc}

Я хотел бы определить тип {file}

И хотел бы, чтобы он автоматически проверялся, если файл существует pyhsically

Есть ли способ сделать это?

Спасибо

1 Ответ

0 голосов
/ 31 октября 2019
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)

Вы можете попробовать что-то вроде этого. Схема вернет имя файла, если путь существует, иначе вернет None

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...