【发布时间】:2019-11-21 13:34:33
【问题描述】:
在 C++ 中,main() 函数被标准化为 int 类型,因此应该 return(0) 成功执行。此外,程序通常会在末尾打印一个换行符以刷新stdout,如下所示:
最小、完整、可验证的示例
hello_world.cpp
#include <iostream>
int main() {
std::cout << "hello, world" << std::endl;
printf("\n");
return(0);
}
你好,世界
是否有正确退出 Python 脚本的等效方法?是否也打印换行符,然后使用代码 0 显式退出?
hello_world.py
import sys
print("hello, world")
print('\n')
sys.exit(0)
你好,世界
Tyvm :^)
【问题讨论】:
-
刷新将(通常)作为解构内容的一部分自动发生 - 如果您没有明确 sys.exit(0),您是否尝试过 python 程序返回的返回码?为什么要问您是否可以尝试一下?
-
根据我的经验(个人和我看到其他人所做的),您只需让 python 代码自行结束(没有
exit声明)。不过,您可能应该使用if __name__ == '__main__'语句。 Python 不要求(也不在 PEP 中指定)以特殊行结束程序,例如exit。另外作为记录,默认情况下print在末尾放置一个\n,因此您无需再次打印。 -
打印一个空行“以防万一”是一种麻烦,不是一个好习惯。
-
另外
prints 不要在 python 中使用flush,除非通过flush=True明确告知。只是另一个仅供参考。 -
我不确定这是否适合您的问题范围,但至于 优雅退出,Python 中一个非常常见的构造是
try/except,它可以帮助您处理错误并终止您的程序。更好的是,使用with语句包装上下文管理器,以确保程序在该块中出现错误时正常退出
标签: python python-3.x return exit