在Python中动态导入文件

时间:2017-10-12 23:48:44

标签: python

我希望能够在Python中导入一个文件,其源代码是一个经常被修改的文本文件。

换句话说,我们假设我有一个文件名dados.py,其内容在给定时刻为:

x=[2, 3, 7, 9]

(这是文件的唯一一行(可能吗?))

我的主程序有

import dados

我想要的是,在进行导入时,我将拥有一个包含上述值的数组。

但是,如果文件dados.py的值发生变化,则下次主程序运行时,它将使用新值。

问题是我不知道我是否可以使用变量代码行,如果python会识别它必须执行此行。

我试图详细解释的问题是因为我有一个工作程序,在源代码上写了x=[2, 3, 7, 9]。我取代那条线的那一刻:

import dados

行,python抱怨像

这样的消息
File "testinclude.py", line 15, in <module>
    print(x)
NameError: name 'x' is not defined

2 个答案:

答案 0 :(得分:2)

您的变量是在模块中定义的,因此您必须命名变量

import dados
print(dados.x)

或者你可以import x from dados

替代解决方案是使用一些JSON或其他配置文件,然后读取并加载它。目前尚不清楚为什么只需要一个Python文件来定义变量

答案 1 :(得分:0)

在这种情况下,最好使用文件而不是python模块。但是,如果您坚持使用模块,则可以将数据存储在变量中,并使用&#34;。&#34;操作