如果在控制台尝试执行python脚本时没有设置args,如何显示错误

时间:2014-06-11 14:19:15

标签: python getopt

我需要编写需要命令参数才能执行的python脚本。我有这样的代码:

try:
    opts, args = getopt.getopt(argv,"htt:tf:d:",["from=","to=","on="])
except getopt.GetoptError:
    print 'logReader.py -f <from> -t <to> -d <on>'
    sys.exit(2)
for opt, arg in opts:
    if opt == '-h':
        print 'logReader.py -f <from> -t <to> -d <on>'
        sys.exit()
    # elif opt
    elif opt in ("-f", "--from"):
        fromTime = arg
    elif opt in ("-t", "--to"):
        toTime = arg
    elif opt in ("-d", "--on"):
        onDate = arg  

但是我没有任何参数就运行我的脚本,它什么都不做。如何添加一些检查,如果没有指定args,则应在控制台(或帮助)中显示错误消息

1 个答案:

答案 0 :(得分:4)

如果没有设置参数,opts将是一个空列表:

if not opts:
    print 'logReader.py -f <from> -t <to> -d <on>'
    sys.exit(2)

您应该考虑使用argparse module代替,这可以指定某些命令行选项是必需的。