我的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
中的所有函数。
答案 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指出)