有没有一种方法可以在python解释器中使用python-mymod语法?
许多软件包(如unittest)具有易于使用的命令行界面,例如unittest中的测试发现功能: 然而,为了在python中实现同样的功能,有时需要在文档中深入挖掘。在上面的示例中,与命令行命令相比,实现相同功能所需的python代码更难理解 因此,我想知道:是否有一种一致的方法将有没有一种方法可以在python解释器中使用python-mymod语法?,python,Python,许多软件包(如unittest)具有易于使用的命令行界面,例如unittest中的测试发现功能: 然而,为了在python中实现同样的功能,有时需要在文档中深入挖掘。在上面的示例中,与命令行命令相比,实现相同功能所需的python代码更难理解 因此,我想知道:是否有一种一致的方法将python-mymod args翻译成可以在python解释器中使用的东西 编辑:我在问一个合理的策略,在我只知道python-m命令的情况下该怎么做。当我被迫使用python解释器时,这些知识是否完全无用?您可以使
python-mymod args
翻译成可以在python解释器中使用的东西
编辑:我在问一个合理的策略,在我只知道python-m命令的情况下该怎么做。当我被迫使用python解释器时,这些知识是否完全无用?您可以使用:
这将执行module.name
,就像您键入:
python -m module.name arg1 arg2 arg3
@为什么会是一种痛苦?实现方法是。如果您控制要运行的模块,只需创建一个
main
函数就足够简单了,但如果您处理的是其他人的代码,这并不总是可能的。@MartijnPieters:我的问题是关于第三方模块,比如unittest,在这里,找到所需的python-m命令非常容易(请查看unittest帮助中的测试发现一章),但找到相应的python代码要困难得多。@user2357112:duh,我完全忘记了runpy
@user2357112:the解决了问题。注意使用上下文管理器替换和恢复特定的sys.modules
和sys.argv
值。。。
python -m module.name arg1 arg2 arg3