Python 尝试使用cProfile时遇到的问题

Python 尝试使用cProfile时遇到的问题,python,cprofile,Python,Cprofile,我尝试在Python 2.7 GUI上运行以下代码: python -m cProfile -s time abc.py 但是,我有一个错误: >>> python -m cProfile -s time abc.py >>> ^ >>> SyntaxError: invalid syntax 你知道怎么解决吗?你需要从命令行运行,而不是从GUI或交互式Python提示符运行。看到>表示您处于交

我尝试在Python 2.7 GUI上运行以下代码:

python -m cProfile -s time abc.py
但是,我有一个错误:

>>> python -m cProfile -s time abc.py     
>>>                  ^
>>> SyntaxError: invalid syntax

你知道怎么解决吗?

你需要从命令行运行,而不是从GUI或交互式Python提示符运行。看到
>
表示您处于交互式Python提示符下

在命令行a.k.a终端窗口中,切换到
abc.py
所在的目录并输入:

python -m cProfile -s time abc.py  
我明白了:

python -m cProfile -s time abc.py 
         2 function calls in 0.000 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
        1    0.000    0.000    0.000    0.000 abc.py:1(<module>)

python-m…
本身不是python语法:它是从外部启动python的语法。因此,Python解释器(GUI或非GUI)将无法处理该命令。(我们知道您是从Python解释器内部工作的,因为有提示
>>
提示。)


“来自外部”是什么意思?这意味着您需要在命令窗口(在Windows中)的
提示符处键入该命令,或在运行bash shell的终端窗口(在其他可能的操作系统中)的
$
提示符处键入该命令。

您需要从命令行而不是GUI运行该命令。旁注:请勿将模块命名为
abc
!已经有一个用于支持抽象基类(在Python的许多部分中都使用了抽象基类)的。如果您将模块命名为abc.py,并在与该文件相同的目录中运行Python,它将隐藏内置模块,并且当Python(或您执行的某些导入)实际上依赖于原始的
abc
模块时,您将得到神秘的错误。你可能会暂时摆脱它,直到你意外地依赖了abc,一切都消失了。谢谢你的留言ShadowRanger!abc只是我在这个问题上使用的一个随机名称,迪福将来会记下这个名字吗?虽然我已经将目录更改为abc.py所在的位置。另外,如果是因为目录地址的原因,它不会说“cProfile”导致语法错误,而是说“找不到文件”,我想?当您看到
>
时,您正在交互式Python解释器中。您需要在操作系统的命令行上才能使用此命令。是的,在提示符下它确实有效,但我正在考虑是否可以在解释器中执行此操作,因为解释器对我来说更灵活,可以复制和粘贴结果并进行分析。
[1] %run -m cProfile -s time abc.py