Include/embed python 文件 "as is"

Include/embed python file "as is"

为了更好的代码可读性,假设我的代码在逻辑上分为不同的 python 文件,我的主 main.py 文件和一个 included.py 文件。我想在主文件中嵌入 included.py

我知道可以在 main.pyimport(例如 from included import *),但在某些情况下,objects/classes/variables 在 main.py 文件上也可以在 included.py 文件中导入(例如 from main import *)。

我想做的是在特定位置导入 included.py 文件 "as is"(就像 PHP 那样,使用 include 语句)我的 main.py 文件,通过强制解释器读取文件的内容并将其放在指定位置。

可能吗?

在Python2中,尝试execfile()命令:

execfile('included.py')

在Python3、试试

exec(compile(open('included.py', "rb").read(), 'included.py', 'exec'))    

我进行了简单的测试,这似乎有效。它对你的情况有帮助吗?

更多'traditional'导入方式:

对于Python2的execfile()和Python3的exec()的关系:

p.s。如评论中所述:一般应避免循环导入,并且很容易导致无限导入递归。