我经常在模块的底部编写自测代码。
if __name__ == '__main__':
.
.
.
我想把它保存在模块中,这样如果我修改它,我仍然可以对它运行自检。模块是包的一部分。因此,有一些包间引用需要解析;但是如果我导入包而不是独立运行模块,这些引用的解析方式会有所不同。
最后,我在模块的顶部出现了一个像这样的乱七八糟的东西,这肯定很难看,而且可能不是“蟒蛇式的”:
if __name__ == '__main__':
from CovSample import CovSample
from ArrayByRow import ArrayByRow
else:
from CEOpt import CovSample
from CEOpt import ArrayByRow
如果导入包CEOpt,else分支引用工作,如果独立运行,直接模块名导入工作。但我不想为仍然在独立模块测试中工作的包间调用使用一个import语句。有可能吗?