本文介绍了如何像在 PHP 中使用变量变量 ($$) 一样在 Python 中导入变量包?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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 中导入变量包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 06:22