在Python中使用1退出
这是我第一个使用Python的程序之一,所以我可能遗漏了一些明显的东西 在我发布的代码的第一部分中,我希望确保用户传递一个命令行参数。如果不是,我想显示一个错误并返回1。当我在没有命令行参数的情况下运行代码时,程序具有预期的行为,因为会打印错误,并且程序会退出 但是,当我对此运行检查程序时,会出现一个错误: 处理缺少argv[1]的问题。应为退出代码1,而不是0 对我可能遗漏的东西有什么想法吗在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
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谢谢你的关注。完成!