Рассматривали ли вы использовать сериализованный формат данных, как JSON?Он легкий, его легко перевести на словари Python, и все классные дети его используют.
Вы можете построить данные осмысленным образом, но не требующим реального кода.Затем вы можете прочитать эту конструкцию, взять нужные части, а затем передать их функции или классу.
Редактировать : добавлен пропуск в наглядном примере возможной спецификации JSON.
Ваш JSON:
{
"macros": [
{
"function": "foo_func",
"args": {
"x": "y",
"bar": null
},
"name": "foo",
"iterations": 3
},
{
"function": "bar_func",
"args": {
"x": "y",
"bar": null
},
"name": "bar",
"iterations": 1
}
]
}
Затем вы анализируете его с помощью json lib Python:
import json
# Get JSON data from elsewhere and parse it
macros = json.loads(json_data)
# Do something with the macros
for macro in macros:
run_macro(macro) # For example
И результирующие данные Python синтаксически почти идентичны JSON, за исключениемнекоторые ключевые слова, такие как True
, False
, None
(true
, false
, null
в формате JSON).
{
'macros': [
{
'args':
{
'bar': None,
'x': 'y'
},
'function': 'foo_func',
'iterations': 3,
'name': 'foo'
},
{
'args':
{
'bar': None,
'x': 'y'
},
'function': 'bar_func',
'iterations': 1,
'name': 'bar'
}
]
}