Include/embed python 文件 "as is"
Include/embed python file "as is"
为了更好的代码可读性,假设我的代码在逻辑上分为不同的 python 文件,我的主 main.py
文件和一个 included.py
文件。我想在主文件中嵌入 included.py
。
我知道可以在 main.py
上 import
(例如 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。如评论中所述:一般应避免循环导入,并且很容易导致无限导入递归。
为了更好的代码可读性,假设我的代码在逻辑上分为不同的 python 文件,我的主 main.py
文件和一个 included.py
文件。我想在主文件中嵌入 included.py
。
我知道可以在 main.py
上 import
(例如 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。如评论中所述:一般应避免循环导入,并且很容易导致无限导入递归。