2010-04-20 90 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