Мой питон делает что-то странное. Я пытаюсь выполнить немного кода из строковой формы, используя exec / eval / compile. В частности, exec, но он молча терпит неудачу из-за синтаксической ошибки, поэтому я переключился на eval.
#start of document
print( compile( 'Test_val = 1;', 'None', 'eval' ) )
Traceback (most recent call last):
File "/Users/lucasyoung/Desktop/Application/__init__.py", line 6, in <module>
print( compile( 'Test_val = 1;', 'None', 'eval' ) )
File "None", line 1
Test_val = 1;
^
Я провел небольшое тестирование и могу, например, вызвать оператор print через compile. Я могу вызывать переменные в существование, но я не могу назвать их. И что странно, это то, что это находится в пределах контекста собственного контекста скомпилированного кода.
Я знаю, что в стеке настаивают на гипер-детализации вопросов, но я, честно говоря, просто не знаю, что сказать об этом,Exec должен запустить некоторый код из строки. Код, который я звоню, совершенно действителен. Я в тупике.