无法弄清楚它与条件匹配的原因

时间:2015-06-17 10:34:59

标签: python

if len(sys.argv) == 2:
    f = sys.argv[1]
elif len(sys.argv) == 3 and ('--full' in sys.argv or '--last' in sys.argv):
    f = sys.argv[2]
else:
    print "Error!!\n\n"
    show_info()
    sys.exit()

if '--full' in sys.argv:
    #code
elif '--last' in sys.argv:
    #code
elif '--help' or '-h' in sys.argv:
    show_info()
    sys.exit()

show_info()只是一些显示描述和如何使用脚本的打印件。

如果我为python test.py my_file实例运行,则会输入上一个elif,但--help-h都不在sys.argv ...为什么会发生这种情况?

1 个答案:

答案 0 :(得分:3)

您错过了in sys.argv

elif '--help' in sys.argv or '-h' in sys.argv:

elif '--help'总是将评估为True,任何非空字符串也是如此。