2017-10-12 35 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模塊文件。但是,如果您堅持使用模塊,則可以將數據存儲在變量中並使用「。」來訪問它。運營商。