Вы можете пометить свой DU атрибутом [<RequireQualifiedAccess>]
.
Это означает, что вам нужно будет квалифицировать имя дела с типом всякий раз, когда вы используете его в коде - что вы сейчас делаете в любом случае в вашем match
выражении.
Таким образом, неквалифицированный Some
все равно будет разрешен как Option.Some
, несмотря на то, что вы повторно используете имя.
Полезно знать, когда вы хотите использовать мгновенное имя для случая DU - например None
, Yes
, Failure
и т. д. - это само по себе было бы двусмысленным или запутанным читатель (или компилятор, если на то пошло).
Я хочу импортировать в свою программу на python только некоторые поля файла JSON, состоящие из строк следующего типа:
blockquote>Не уверен, понял ли я, что вы подразумеваете под 'import 'файл JSON, но я предполагаю, что вы хотели извлечь подмножество файла JSON и сохранить его как локальную переменную
Если это так, ваш фрагмент кода с использованием модуля json по умолчанию не слишком далек.
Json.load()
функция возвращает данные json в словарь Python. Зная это, нам просто нужно немного изменить способ извлечения данных из словаря pythonПеред тем, как мы начнем, я сохранил ваш файл JSON как «data.json»
import json with open(r'data.json') as jsonfile: data = json.load(jsonfile) # you had it right up to here data_import = [data['business_id'],data['name'],data['categories']] #creating local variable
Поскольку вы уже импортируете из словаря JSON / python, создание словаря Python в качестве локальной импортируемой переменной является еще одним хорошим способом поддержания чистоты данных
import json with open(r'data.json') as jsonfile: data = json.load(jsonfile) data_import = {} data_import['business_id'] = data['business_id'] data_import['name'] = data['name'] data_import['categories'] = data['categories']