2015-11-20 60 views
-1

我最近開始構建編程的一種方式是讓一個主文件和多個不同的適當命名的文件代表我正在開發的項目的不同部分。如何在Python中將模塊中的變量傳遞給模塊?

所有不同的Python文件在一個文件夾中。

爲了然後使用一個文件,我想簡單地鍵入:

import filename 

這工作都很好,但我注意到,我不能在代碼中的另一個文件中使用的變量。

我的問題是我可以導入變量,或將變量從一個文件傳遞到另一個文件以便以後再使用它們?

+0

要清楚;你問如何從另一個文件訪問一個文件中存在的全局變量? – AlG

回答

2

您導入的每個文件都被認爲具有自己的名稱空間。如果以模塊名稱爲前綴,則可以引用該名稱空間中的任何內容。

例如,F,你有這樣的文件:

# filename.py 
foobar = 42 

您可以通過訪問filename.foobarfoobar。例如:

import filename 
print("foobar is %s" % filename.foobar) 
+0

太棒了!這是有效的,但它並沒有真正將變量從一個位置傳遞到下一個位置。 – Alex

+0

@AlexPanagis:我不確定你的意思是「傳遞變量」。當然,你可以將變量從一個函數傳遞給下一個函數。這是一個正常的變量,你像對待任何其他變量一樣對待它。 –

-1

另一種方法是使用__builtin__模塊,使您的文件main_file.py將包含:

print(thing) 

,而你的whatever.py將包含:

import __builtin__ 
__builtin__.thing = 1 
import main_file 

更多對此:here

+0

我覺得這個解決方案很好。 – sobolevn

+0

如果兩個不同的模塊使用相同的名稱,則容易發生名稱衝突。爲什麼模塊都在自己的名稱空間中是有原因的。 – ppperry

相關問題