是否有替代python函数作为PHP include()函数?

时间:2010-12-26 13:21:35

标签: python module import

我的python项目路径/project,这些是它的文件:

/project/test.py
/project/templates/
/project/includes/
/project/includes/config.py
# config.py
import os
template_path = os.path.join(os.path.dirname(__file__), "templates")

当我使用execute()函数从test.py包含config.py时,执行了/project/includes/config.php文件,结果返回到/project/includes/test.py,因此template_path变量保存为{{1}那里找不到和模板文件夹。
我希望函数包含/project/includes/templates/中的/project/includes/config.py并执行/project/test.py/project/includes/config.py中的所有函数。

3 个答案:

答案 0 :(得分:3)

在Python中,您不包含导入,也不导入文件和目录,导入模块和包,它们通常(但不总是)存在于Python路径中的某个文件和目录中。因此,通常的做法是将所有模块放在用户应放在Python路径中的包中,然后从那里导入模块。可以导入文件但不鼓励。

如果您的config模块是库,内部配置或站点配置的真实模块部分,则需要创建一个名为项目命名的新软件包,放置config和其他模块在里面。另请注意,由于Python中使用的模块/包结构,为其中的模块创建一个带有includes目录的项目不会很好地工作。

如果您的config.py文件应该是用户配置,则可以查看ConfigParser模块,或使用第三方cfgparse

答案 1 :(得分:2)

您通常通过import 包含来自其他文件(称为模块)的代码。

答案 2 :(得分:2)

__init__.py中创建一个(空)文件includes

test.py中,通过config.py致电import

from includes import config

因此,如果foo中有一个函数说config,您会将其称为:

config.foo()

请参阅文档(由The MYYN指出)