有没有办法在python解释器中使用python -m mymod语法?

时间:2016-09-08 16:47:38

标签: python

像unittest这样的许多软件包都有一个易于使用的命令行界面,例如: unittest中的测试发现功能:https://docs.python.org/2/library/unittest.html#test-discovery

但是,要在python中实现相同的功能,有时需要深入挖掘文档。在上面的示例中,与命令行命令相比,实现相同所需的python代码要难以理解。

因此,我想知道:有没有一种将python -m mymod args翻译成某种东西的一致方法,可以在python解释器中使用?

编辑:我要求一个合理的策略在某种情况下该做什么,我知道python -m命令但仅此而已。当我被迫使用python解释器时,这些知识是否完全没用?

1 个答案:

答案 0 :(得分:1)

您可以使用runpy.run_module function

import runpy
import sys

sys.argv[1:] = ['arg1', 'arg2', 'arg3']
runpy.run_module('module.name', run_name='__main__', alter_sys=True)

执行module.name,就像您键入:

一样
python -m module.name arg1 arg2 arg3