多个-m命令行参数(Python)

dan*_*tdj 10 python command-line arguments

我想同时运行cProfiler(主要用于时间测量)以及我在这里找到的内存分析器.但是,两者都需要给出-m命令行参数,这不能很好地发挥作用.

有没有办法同时运行?我到目前为止所做的就是让口译员对我大喊大叫.

If you need any more information, let me know and I'll do my best to provide it. Thanks in advance!

les*_*ana 5

无法使用两个-m参数来启动两个模块。这是因为之后的命令行参数-m都以形式提供给命名模块sys.argv。文档中没有对此进行明确描述,但是您可以通过实验进行尝试。

创建两个python文件a.pyb.py

内容a.py

print 'a'
import sys
print sys.argv
Run Code Online (Sandbox Code Playgroud)

内容b.py

print 'b'
Run Code Online (Sandbox Code Playgroud)

现在尝试使用两个-m参数来运行它们:

$ python -m a -m b
Run Code Online (Sandbox Code Playgroud)

输出:

a
['/home/lesmana/tmp/a.py', '-m', 'b']
Run Code Online (Sandbox Code Playgroud)

如您所见,模块b永远不会启动,因为第二个模块-m不是由python处理的。它提供给模块a进行处理。