如何在 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 选项(,我该如何指定它并使程序继续而不退出并显示错误:因为未指定文件路径

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

您可以定义一个新函数以获取帮助,并在需要时显示它

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

您可以实现以下目标:

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:])

最新更新