В python вы можете сделать что-то подобное, чтобы импортировать модуль, используя имя файла строки, и назначьте его пространство имен переменной в локальном пространстве имен.
x = __import__(str)
Мне интересно, есть ли связанная с этим функция, которая возьмет строку кода Python вместо пути к файлу с кодом Python и вернет его пространство имен как переменную.
Например,
str = "a = 5";
x = importstr(str)
print x.a
#output is 5
Я понимаю, что я могу написать строку в файл, а затем использовать __import__
, но я бы хотел пропустить промежуточный файл, если это возможно.
Причина этого в том, что я экспериментирую с метапрограммированием в python, и это похоже на хорошее решение того, что я делаю.