2010-04-20 89 views
2

有沒有辦法在Python中共享頭文件?我在塔架中的不同控制器中導入相同的東西。在Python中的文件之間共享頭文件?

+2

你必須詳細說明你想分享什麼。 Python本身沒有其他語言所具有的「標題」。不過,你提到了塔塔。這個問題實際上是關於模板系統嗎? – 2010-04-20 20:51:23

+0

不,不是「頭文件」文件,而是像導入導入b導入c – Timmy 2010-04-20 20:56:55

回答

3

嘗試把公共代碼在__init__.py文件。如here__init__.py文件通常爲空,但可用於以更方便的名稱導出包中的選定部分,保留便利功能等。」

1

你可以把「頭」的東西變成自己的一個模塊,然後,無論你需要它,做

from myheadermodule import * 
+0

除了導入的形式通常被認爲是不好的做法,原因很好。如果你是Python的新手,你很可能會因使用它而陷入困境。如果你的程序結構是你需要的,你可以通過重新審視這個結構並改進它來做得更好。 – 2010-04-20 23:06:55

+0

@Peter:我不是說普通的模塊通常應該像那樣導入。我說它會解決具體描述的問題,我將其理解爲「我怎樣才能避免將相同的'import'語句複製粘貼到我的模塊中」。在這種情況下,我認爲反對'import *'的正常原因並不適用。但是,這個問題的解釋可能是錯誤的,因爲我真的不知道接受的答案如何解決這個問題。 – sth 2010-04-22 03:50:35

+0

你很對,你的答案直接解決了這個問題。我只是警告OP,他應該尋求替代方法來使用這種方法。在任何設計良好的系統中都沒有必要。一個簡單的變化就是使用'import myheadermodule as mh',然後以'mh.foo'和'mh.bar'的形式訪問所有內容。如果您同意,請隨意將警告和建議納入您的答案。 – 2010-04-22 14:31:59