PyCharm:进程以退出代码0完成

20

我是PyCharm新手,结果显示为“Process finished with exit code 0”,而不是得到(683, 11)的结果(请参见附件),你们能帮我解决吗?非常感谢!

enter image description here


2
请在问题中添加您的代码、输出或任何其他内容,而不是作为托管在某些外部网站上的通用描述的图像。 - abarnert
2
最后,“Process finished with exit code 0”是PyCharm在程序运行无误完成时打印的内容。那么...你想对此做出什么改变吗?你想用错误退出吗?或者在没有错误退出之前,你想要打印一些东西吗?或者...? - abarnert
2
@abamert,非常感谢您的帮助!问题已经解决了,只是一个愚蠢的新手错误 :) - ET44
7
@abarnet是否有必要发布三条关于同一件事的评论?很明显他很新,还在学习PyCharm。为什么不给他一些鼓励,告诉他他正在做正确的事情呢? - leogoesger
2
@Enkouyami,现有的答案中缺少什么来解释这个问题? - Tarun Lalwani
显示剩余5条评论
10个回答

42

这是一个好消息!这意味着你的代码没有错误。你已经成功运行它,没有任何问题。当Pycharm找不到错误时(加上任何输出),它会返回0,遇到错误时会返回1以及一个错误消息。

编辑器和脚本与交互式终端的行为不同,当你运行一个函数时,它不会自动显示结果。你需要自己告诉它该做什么。

通常你只需要print出结果。

如果你使用print(data.shape),它应该会返回你期望的结果,以及成功信息Process finished with exit code 0


1
@user9542899 没问题。只需要一些适应就好了。 - Xantium
你如何跳过退出代码?比如说,如果我有一个输出数据框架想要访问,但是我无法在控制台上输入新行,因为它已经有了退出代码输出。 - mikey
@mikey 我不太确定你的意思。每当你得到一个退出输出时,你的脚本已经执行完毕(或者出现错误并被强制停止)。没有办法绕过这个问题,一旦执行完成,就会返回一个值。你可以使用 input() 来获取输入,或者暂停脚本的执行。否则,只需要添加正确的指令即可。如果它突然停止了,那么检查你的代码,可能存在错误,或者某个条件未满足导致它停止了。 - Xantium
@mikey 还要注意,如果你在普通终端(即不是通过PyCharm,而是通过CMD或默认解释器)运行它,执行将会停止(终端将关闭,或者你会得到 >>>> 或类似的提示,告诉你它正在等待下一个命令,并且不会显示返回值)。 - Xantium
程序运行后,检查代码中的变量将非常有用。退出代码会阻止您执行此操作。这就是运行脚本和交互式终端之间的区别。因此,我认为问题是如何确保PyCharm在后者中运行? - David Kane

13

退出码 0 意味着代码可以无错误运行。

我们举个 错误码 的例子(在下面的图片中清晰可见):在下面的代码中,变量 lst 是一个空列表,但是我们却在其中获取了第5个元素(该元素并不存在),因此程序抛出了IndexError退出码 1,这意味着该代码存在错误。

输入图片说明

您还可以定义用于分析的退出码,例如:

ERROR_USERNAME, ERROR_PASSWORD, RIGHT_CODE = 683, 11, 0
right_name, right_password = 'xy', 'xy'

name, password = 'xy', 'wrong_password'

if name != right_name:
    exit(ERROR_USERNAME)

if password != right_password:
    exit(ERROR_PASSWORD)

exit(RIGHT_CODE)

这里输入图片描述


4
当我遇到这种情况时,对我有用的方法是前往“运行 - > 编辑配置 - > 执行”,然后勾选“使用Python控制台运行”复选框(原本未勾选)。

3

我建议您了解退出代码。

退出 0 表示没有错误。

退出 1 表示您的代码中存在一些错误。

这不是pyCharm或Python特定的。大多数编程语言都采用这种非零退出码表示错误,而退出 0 则表示程序成功执行。


2
几乎所有的程序(C++/Python/Java等)在运行成功时都会返回0。这并不是特定于PyCharm或Python。
在程序中,当它成功运行时,默认情况下会调用exit(0),而在运行失败时则会调用exit(not_zero_num),因此无需显式地调用exit函数。
您还可以使用不同的代码号码调用exit函数进行分析。
更多细节请参见https://en.wikipedia.org/wiki/Exit_(system_call)

2

这意味着编译成功(无错误)。PyCharm和命令提示符(Windows OS)以及终端(Ubuntu)的工作方式不同。PyCharm是一个编辑器,如果你想打印一些东西,你必须显式地编写打印语句:

print(whatever_you_want_to_print)

在您的情况下,
print(data.shape)

1
我认为你的代码没有问题,你可以在选项卡5: Debug中找到你的打印结果(和其他输出),而不是4: Run

这应该是一条注释,而不是一个答案。 - Swifty

0

我刚遇到了这个问题,甚至无法运行一个简单的print('hello world')函数。

原来是Comodo防火墙阻止了脚本的输出。通过在Comodo的设置中删除Python的“设置”>“高级”>“脚本分析”部分,可以很容易地解决这个问题。

祝好运!


0
我曾经遇到和你一样的问题,最终我解决了它。 我看到你正在尝试运行代码 "Kaggle - BreastCancer.py", 但是你的 PyCharm 却尝试运行 "Breast.py" 而不是你的代码。 (我认为 Breast.py 只包含函数,所以 PyCharm 可以在不显示任何结果的情况下运行它) 请检查 [Run] 标签页中你正在尝试运行哪个代码。

0

你正在从一个不同的文件中启动程序运行,而不是你打开的文件。在运行(alt+shift+F10)中,设置你想要运行或调试的Python文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接