Pycharm:Python控制台中运行和运行之间的不同行为?

时间:2016-08-12 02:16:43

标签: python pycharm

我在Pycharm上使用python3。 我可以通过shift + control + R运行代码(快捷方式运行,相当于按下绿色三角形运行按钮) 要么 通过shift + alt + E运行代码,将代码加载到interactive shell debugging with pycharm

建议的Python控制台中

shift + control + R没有错误。

shift + alt + E抛出异常:

TypeError: an integer is required (got type str)

我运行的代码如下:

import sys

sys.exit('exist')

print('shouldnt print')

我想了解导致不同行为的原因以及如何避免这种行为。该代码与python3的sys.exit文档内联。

1 个答案:

答案 0 :(得分:1)

按下Shift + Alt + E时,它进入Interactive shell。 sys.exit()不适用于IDLE应用程序,例如Interactive shell。对于IDLE应用程序,使用内置的os._exit()

仔细检查堆栈跟踪时,您会注意到这种情况:

Traceback (most recent call last):
  File "<input>", line 4, in <module>
  File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevconsole.py", line 260, in DoExit 
    os._exit(args[0])

TypeError: an integer is required

os._exit()被执行(而不是sys.exit("exist")),它只需要一个整数作为参数。请查看此处的文档:https://docs.python.org/2/library/os.html#os._exit