我想根据用户选择的值导入一些软件包。
默认值为file1.py:
file1.py
from files import file1
如果用户选择file2,则应为:
file2
from files import file2
在PHP中,我可以使用变量variable来做到这一点:
$file_name = 'file1'; include($$file_name); $file_name = 'file2'; include($$file_name);
如何在Python中执行此操作?
Python没有与PHP的“变量变量”直接等效的功能。要获取“变量变量”的值(或任何其他表达式的值),可以使用该eval函数。
eval
foo = "Hello World" print eval("foo")
但是,这不能在import语句中使用。
import
可以使用该__import__函数通过变量导入。
__import__
package = "os" name = "path" imported = getattr(__import__(package, fromlist=[name]), name)
相当于
from os import path as imported