Eclipse中的Python评测

Eclipse中的Python评测,python,eclipse,profiling,Python,Eclipse,Profiling,这个问题是基于这个问题的: 我认为在我的一些程序上运行这将是一个好主意。尽管如前面的回答所述,从批处理文件进行评测是可能的,但我认为在Eclipse中使用此选项会更好。同时,让我的整个程序成为一个函数并对其进行分析意味着我必须修改源代码 如何配置eclipse,使我能够在现有程序上运行profile命令? 欢迎任何提示或建议 您始终可以创建单独的模块,这些模块只对其他模块中的特定内容进行分析。您可以在单独的包中组织这样的模块。这样,您就不会更改现有代码。如果您遵循常见的python习惯用法,使

这个问题是基于这个问题的:

我认为在我的一些程序上运行这将是一个好主意。尽管如前面的回答所述,从批处理文件进行评测是可能的,但我认为在Eclipse中使用此选项会更好。同时,让我的整个程序成为一个函数并对其进行分析意味着我必须修改源代码

如何配置eclipse,使我能够在现有程序上运行profile命令?


欢迎任何提示或建议

您始终可以创建单独的模块,这些模块只对其他模块中的特定内容进行分析。您可以在单独的包中组织这样的模块。这样,您就不会更改现有代码。

如果您遵循常见的python习惯用法,使所有代码,甚至“现有程序”都可以作为模块导入,那么您就可以完全按照您所描述的方式进行操作,而无需任何额外的麻烦

下面是我所说的一个特定的习惯用法,它将程序的流“颠倒”,因为一旦完成所有的
def
操作,
\uu name\uuuuuu=='\uuuu main\uuuu'
将被放置在文件的底部:

# program.py file

def foo():
    """ analogous to a main().  do something here """
    pass

# ... fill in rest of function def's here ...

# here is where the code execution and control flow will
# actually originate for your code, when program.py is
# invoked as a program.  a very common Pythonism...
if __name__ == '__main__':
    foo()
根据我的经验,修改现有脚本以遵循此表单非常容易,最多可能几分钟

由于同时编写模块还有其他好处,因此您会发现大多数
python
脚本实际上都是这样做的。这样做的一个好处是:您编写的任何
python
都可能以模块形式使用,包括
cProfile
-ing您的
foo()