当参数小于0时退出python程序

时间:2010-03-30 23:01:16

标签: python

如果输入的数字小于0,我希望程序退出,但sys.exit()不是这样做的。这就是我现在所拥有的:

if len( sys.argv ) > 1:
    number = sys.argv[1]

if number <= 0:
    print "Invalid number! Must be greater than 0"
    sys.exit()

1 个答案:

答案 0 :(得分:10)

您的测试失败,因为number是一个字符串。

>>> '-1' <= 0
False

您需要将number转换为整数:

number = int(sys.argv[1])

请注意,在Python 3.0中,您的代码会出错,让您更容易找到错误:

>>> '-1' <= 0
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    '-1' <= 0
TypeError: unorderable types: str() <= int()