0

考虑:如何添加帮助的使用在Python脚本的getopt

import getopt 

    options, remainder = getopt.getopt(sys.argv[1:], 'd:a', ['directory=', 
                'algorithm', 
                'version=', 
                ]) 
    print 'OPTIONS :', options 

    for opt, arg in options: 
     if opt in ('-d', '--dir'): 
     directory_path = arg 
     elif opt in ('-a', '--alg'): 
     algorithm = arg 
     elif opt == '--version': 
     version = arg 

这个脚本工作正常,但如果用户没有指定任何参数(-d选项是必须的),我怎么指定这使程序继续而不会退出并显示错误:因为没有指定文件路径

如果用户不知道哪些参数可用,我该如何显示帮助或用法?

+1

等一下。你自己解析选项? –

回答

0

您可以定义一个新功能的帮助,并显示它时,你想

def help(): 
    print(...) 

... 
for opt, arg in options: 
    if opt in ('-d', '--dir'): 
    directory_path = arg 
    else: 
    help() 
0

你可以按照以下实现自己的目标:

import sys 
import getopt 

def usage(): 
    print '<program.py> -i infile | -o outfile | -h help' 

def mymethod(argv): 
inputfile='' 
outputfile='' 
if(len(argv)<2): 
    usage() 
    sys.exit(2) 
try: 
    opts, args = getopt.getopt(argv, "i:o:h",["ifile=", "ofile=","help="]) 
except getopt.GetoptError: 
    usage() 
    sys.exit(2) 
for opt, arg in opts: 
    if opt == '-h': 
    usage() 
    sys.exit() 
    elif opt in ("-i", "--ifile"): 
    print 'input file name is ', arg 
    if opt in ("-o", "--ofile"): 
    print 'output file name is ', arg 
if __name__=='__main__': 
     mymethod(sys.argv[1:])