【发布时间】:2019-08-07 06:44:21
【问题描述】:
我有一个简单的 Python 代码:
import sys
def main(argv1, argv2):
return 0
if __name__ == '__main__':
return main()
基本上我希望代码返回给调用者主函数返回的内容,但在执行过程中出现以下错误:
$ python ../myexamples/sample.py
File "../myexamples/sample.py", line 11
return main()
^
SyntaxError: 'return' outside function
是不是main方法不能返回任何值给操作系统?
【问题讨论】:
-
python中没有main函数。
if __name__ == '__main__':不是函数。所以return main()没有意义。 -
来电者是谁?您是否尝试设置程序的退出代码?您可能希望
sys.exit(1)指示错误。 main 的默认退出是 0,所以除了让 Python 程序正常结束就可以达到与 C 中的return 0;相同的效果。 -
Python 代码将被 Unix 脚本调用
-
@ParitoshSingh 那么我们如何才能将值返回给调用者 - 就像 C 程序一样?
-
见我上面的评论。在 C 中,你写:
int main() { return 0; }。要在 Python 中获得相同的结果,您无需编写任何内容。 Python 隐式地完成了所有这些样板文件。你能在这里准确地发布你想要完成的事情吗?等待退出代码的父脚本是什么?
标签: python