Skip to main content
 首页 » 编程设计

python之如何使用函数在python中导入变量

2025年05月04日20bhlsheji

我想写一个函数,它接受一个变量名、一个文件名和第三个字符串,并尝试从文件中导入给定的变量,如果做不到,它将变量设置为第三弦。我来给你展示。这是在我的 config.py 中:

variable = 'value' 

这是我的函数(不起作用):

#!/usr/bin/python 
 
def importvar (var, fname, notfound) : 
 
    try: 
        from fname import var 
 
    except: 
        var = notfound 
 
    return var; 
 
value = importvar ('variable', 'config', 'value not found') 
 
print value     #prints 'value not found' 

这就是我要实现的目标:

from config import variable 
 
print variable     #prints 'value' 

这个问题类似于“How to use a variable name as a variable in python?”,但我找到的答案似乎对我不起作用。我不一定需要将它们存储在变量中,但我想不出更好的办法。我知道这是“你不应该在 python 中做什么”的完美示例,但我仍然需要它。感谢您的帮助!

请您参考如下方法:

您要做的是从描述模块路径的字符串开始动态导入模块。您可以使用 import_module 来完成此操作来自 importlib 包。

import importlib 
 
def importvar (var, fname, notfound) : 
    try: 
        return getattr(importlib.import_module(fname), var) 
    except: 
        return notfound