如何像在 PHP 中使用变量变量 ($$) 一样在 Python 中导入变量包?

2024-01-07

我想根据用户选择的值导入一些包。

默认为file1.py:

from files import file1

如果用户选择file2, 它应该是 :

from files import file2

在 PHP 中,我可以使用变量变量 http://php.net/manual/en/language.variables.variable.php:

$file_name = 'file1';
include($$file_name);
$file_name = 'file2';
include($$file_name);

我怎样才能在Python中做到这一点?


Python 没有直接相当于 PHP 的“变量”的功能。要获取“变量变量”的值(或任何其他表达式的值),您可以使用eval功能。

foo = "Hello World"
print eval("foo")

但是,这不能用于import陈述。

可以使用__import__ http://docs.python.org/library/functions.html#__import__使用变量导入的函数。

package = "os"
name = "path"

imported = getattr(__import__(package, fromlist=[name]), name)

相当于

from os import path as imported
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何像在 PHP 中使用变量变量 ($$) 一样在 Python 中导入变量包? 的相关文章

随机推荐