Argparse является частью стандартной библиотеки (начиная с версий 2.7 и 3.2). Это модуль, который я использую для обработки всего моего анализа командной строки, хотя есть также optparse (который сейчас устарел) и getopt .
Ниже приведен простой пример использования argparse:
import sys, argparse
def main(argv=None):
if argv is None:
argv=sys.argv[1:]
p = argparse.ArgumentParser(description="Example of using argparse")
p.add_argument('--arg1', action='store', default='hello', help="first word")
p.add_argument('--arg2', action='store', default='world', help="second word")
# Parse command line arguments
args = p.parse_args(argv)
print args.arg1, args.arg2
return 0
if __name__=="__main__":
sys.exit(main(sys.argv[1:]))
Редактировать : обратите внимание, что использование начального '-' в вызовах add_arguments
делает arg1
и arg2
необязательными аргументами, поэтому я указал значения по умолчанию. Если вы хотите, чтобы в программе требовалось два аргумента, удалите эти два ведущих переноса, и они станут обязательными аргументами, и вам не понадобится опция default=...
. (Строго говоря, вам также не нужен параметр action='store'
, так как store
является действием по умолчанию).