Есть такой код:
def executeRule(stdout, rule):
obj = None
try:
parsedJson = json.loads(stdout)
pyCmd = 'obj = parsedJson' + rule
exec( pyCmd )
except BaseException as e:
print( e, file=sys.stderr)
return obj
Здесь:
rule — это строка получаемая из аргументов ком. строки sys.argv[2]
stdout — это вывод полученный в результате запуска консольной тулзы
Мне надо после распарсивания stdout сконвертировать в привычные структуры данных на питоне и получить из них значение. Вся соль в том что мне надо получить на основании переданного в ком. строке.
Проблема заключается в том что после exec() obj не меняется и продолжает быть установленным в None. Хотя если пишешь код без exec, а на пряму, то значение вытаскивается и оно в распарсенном json есть!
Как организовать сабж? В чем проблема?
ЗЫ:
На питоне токо токо начинаю работать