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

第122章

我想编写一个函数,该函数接受变量名,文件名和第三个字符串,然后尝试从文件中导入给定的变量,如果不能这样做,则将变量设置为第三个字符串。让我给你演示。这是在我的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'

这个问题类似于“如何在python中使用变量名作为变量?”,但是我发现的答案似乎并不适合我。我不一定需要将它们存储在变量中,但是我无法提出更好的选择。我知道这是“您不应该在python中执行的操作”的完美示例,但是我仍然需要它。谢谢您的帮助!

亚历山德罗·科森蒂诺

您要做的是从描述模块路径的字符串开始动态导入模块。您可以通过使用做到这一点import_module导入库包。

import importlib

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python中导入变量包,例如在PHP中使用变量变量($$)?

如何获取从中导入python类/函数/变量的源文件?

Python动态导入-如何从变量中的模块名称中导入*?

如何检测是否在 Python 3 中导入了类/变量?

如何使用相对导入在pytest中导入python包

如何在Jinja模板中导入和调用Python函数?

我可以使用函数在python中导入模块吗

如何在Python中导入

Python:使用函数导入许多变量

如何在 nodejs 中导出/导入变量?

如何访问在 perl 模块中导入的变量?

如何使用 __init__ 在 python 中导入顶级文件

如何使用importlib.import_module在Python中导入模块

如何使用Python在Airflow DAG中导入外部脚本?

如何使用sys.path.append在python中导入文件?

如何在Python脚本中导入和使用csvkit

如何使用 __init__.py 在 python 中导入包

如何在React中导入函数Component?

如何在reactjs中导入函数

在Python内部函数中导入的补丁类

无法在Jupyter中导入Python函数

从自己的文件中导入Python函数

Python。无法从文件中导入多个函数

仅在Python文件中导入函数

在Python中导入模块时运行函数

如何在JS中的另一个函数中导入和使用函数

如何模拟在测试模块中导入的变量,它不是函数参数(使用describe.each和在每个测试上更改模拟值)

如何模拟从不同模块导入的方法中导入的函数

在ObservableObject中导入变量