如何在Python代码中获取被调用的模块名称?

时间:2019-05-14 07:31:10

标签: python python-3.x python-unittest

我有一个测试套件树,它也是Python模块,因此可以按以下步骤进行测试:

python -m tests                              # calls all tests
python -m tests.test_suite_1                 # calls one specific test suite
python -m tests.test_suite_1.test_suite_1_1  # calls one specific test suite of the specific test suite :)

这些测试与我的软件包具有相同的结构,因此很容易找到测试。

我想基于所调用的模块修改测试套件的创建和导入。我尝试使用sys.argv,但是在这种情况下,它仅包含['-m'],而__name__在模块'tests'的{​​{1}}的{​​{1}}中包含__init__.py第一种情况(我希望是tests)。

感谢您的帮助!

编辑:每个套件都将子套件导入其'__main__'中,这是我要避免的,而且如果要运行一小部分测试,我还想节省导入所花费的时间。这是为了加快开发过程。

0 个答案:

没有答案