如果没有参数传递给python脚本,如何打印帮助信息?
#!/usr/bin/env python import sys for arg in sys.argv: if arg == "do": do this if arg == "" print "usage is bla bla bla"
我缺少的是if arg == ""
我不知道如何表达的行:(
if len(sys.argv) == 1: # Print usage...
sys.argv的第一个元素始终是脚本本身的名称或空字符串.如果sys.argv只有一个元素,那么一定没有参数.
http://docs.python.org/library/sys.html#sys.argv
if len(sys.argv)<2:
程序的名称始终在sys.argv [0]中
正如其他人所说,您可以通过执行以下操作来检查是否传入了任何args:
#!/usr/bin/env python import sys args = sys.argv[1:] if args: for arg in args: if arg == "do": # do this else: print "usage is bla bla bla"
但是,有一个名为OptParse的Python模块是为运行脚本时解析命令行参数而显式开发的.我建议调查一下,因为它更符合"标准"(因为它是Python社区中预期和接受的命令行解析方法).