Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用1退出_Python_Python 3.x_Return_Cs50 - Fatal编程技术网

在Python中使用1退出

在Python中使用1退出,python,python-3.x,return,cs50,Python,Python 3.x,Return,Cs50,这是我第一个使用Python的程序之一,所以我可能遗漏了一些明显的东西 在我发布的代码的第一部分中,我希望确保用户传递一个命令行参数。如果不是,我想显示一个错误并返回1。当我在没有命令行参数的情况下运行代码时,程序具有预期的行为,因为会打印错误,并且程序会退出 但是,当我对此运行检查程序时,会出现一个错误: 处理缺少argv[1]的问题。应为退出代码1,而不是0 对我可能遗漏的东西有什么想法吗 import sys import cs50 from cs50 import get_string

这是我第一个使用Python的程序之一,所以我可能遗漏了一些明显的东西

在我发布的代码的第一部分中,我希望确保用户传递一个命令行参数。如果不是,我想显示一个错误并返回1。当我在没有命令行参数的情况下运行代码时,程序具有预期的行为,因为会打印错误,并且程序会退出

但是,当我对此运行检查程序时,会出现一个错误:

处理缺少argv[1]的问题。应为退出代码1,而不是0

对我可能遗漏的东西有什么想法吗

import sys
import cs50
from cs50 import get_string


def main(argv):
    # Check for command line argument
    if (len(sys.argv) != 2):
        print("Error: Please input numeric key in command line.")
        return 1

if __name__ == "__main__":
    main(sys.argv)
在一个例子中,Python的创建者Guido van Rossum建议编写
if\uuuuu name\uuuu==“\uuuu main\uuuu”
块,如下所示:

if __name__ == "__main__":
    sys.exit(main())
这样,
main()
可以像普通函数一样返回一个值,并将其用作进程的退出代码


我建议读一下那篇博文的其余部分。它包含了一些有用的建议,用于将Python
main()
函数样板设置得更加灵活。

sys.exit(1)
是您需要的。是的!成功了!谢谢大家!@kwicz仅供参考,包含if语句条件的括号是多余的。Python不需要它们。你的意思是要包含一个到博客帖子的链接吗?@user2357112谢谢你的关注。完成!