问题描述
我想根据用户选择的值导入一些包.
I want to import some package depending on which value the user chooses.
默认为file1.py
:
from files import file1
如果用户选择file2
,它应该是:
If user chooses file2
, it should be :
from files import file2
在 PHP 中,我可以使用 变量变量:
In PHP, I can do this using variable variables:
$file_name = 'file1';
include($$file_name);
$file_name = 'file2';
include($$file_name);
如何在 Python 中执行此操作?
How can I do this in Python?
推荐答案
Python 没有直接等同于 PHP 的变量"的特性.要获取变量变量"的值(或任何其他表达式的值),您可以使用 eval
函数.
Python doesn't have a feature that's directly equivalent to PHP's "variable variables". To get a "variable variable"'s value (or the value of any other expression) you can use the eval
function.
foo = "Hello World"
print eval("foo")
但是,这不能用在 import
语句中.
However, this can't be used in an import
statement.
可以使用 __import__
使用变量导入的函数.
It is possible to use the __import__
function to import using a variable.
package = "os"
name = "path"
imported = getattr(__import__(package, fromlist=[name]), name)
相当于
from os import path as imported
这篇关于如何像在 PHP 中使用变量变量 ($$) 一样在 Python 中导入变量包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!