2017-10-12 84 views
3

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

换句话说,让我们假设我有一个文件名,dados.py其在某一特定时刻的内容是:

x=[2, 3, 7, 9] 

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

和我的主要程序有行

import dados 

我要的是,当进口是由我会与上面看到的值的数组。

但是,如果文件dados.py的值发生变化,下次主程序运行时它将与新值一起工作。

问题是,我不知道是否可以有一行代码与变量,如果python会认识到它必须执行此行。

我想详细解释的问题是因为我有一个工作程序,其源代码上写有x=[2, 3, 7, 9]。我替换该行的时刻:

import dados 

线,蟒蛇与像

File "testinclude.py", line 15, in <module> 
    print(x) 
NameError: name 'x' is not defined 
+1

你需要'print(dados.x)' –

回答

2

讯息你的变量是一个模块内定义的抱怨,所以你必须命名空间中的变量

import dados 
print(dados.x) 

或者您可以import x from dados

另一种解决方案是使用s ome JSON或其他配置文件,然后读取并加载它。目前还不清楚为什么你需要一个Python文件只定义变量

+1

'from dados import x' * –

+0

它的工作,thks! – user2969291

0

在这种情况下它可能是更好的使用,而不是一个Python模块文件。但是,如果您坚持使用模块,则可以将数据存储在变量中并使用“。”来访问它。运营商。