## sys.argv模块 ##
import sys
print "file = ", sys.argv[0]
for i in range(1, len(sys.argv)):
print "parameter%s = %s"%(i, sys.argv[i])
1. 实例1
# -*- coding: utf-8 -*-
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('integer', type=int, help='display an integer')
args = parser.parse_args()
print(args.integer)
2. 实例2
# -*- coding: utf-8 -*-
import argparse
# parser = argparse.ArgumentParser()
parser = argparse.ArgumentParser(description="calculate X to the power of Y")
parser.add_argument("--square", help="display a square of a given number", type=int)
parser.add_argument("--cubic", help="display a cubic of a given number", type=int)
args = parser.parse_args()
if args.square:
print(args.square ** 2)
if args.cubic:
print(args.cubic ** 3)
3. 实例3
# encoding: utf-8
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", type=int,
help="display a square of a given number")
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2],
help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbosity == 2:
print "the square of {} equals {}".format(args.square, answer)
elif args.verbosity == 1:
print "{}^2 == {}".format(args.square, answer)
else:
print answer
4.总结:在parser.add_argument部分,参数前面有'-'和'--'表示一个意思,其中'-'一般是简写,'--'一般是全称,在"-v"或是 "--verbosity"参数后面传入参数,参数会保存在"v"或是 "verbosity"中,比如python parse_exam.py --verbosity 10;
但若是参数前面没有'-'或是'--',则传参时,不能有参数的名称,如python parse_exam.py 10,需要根据add_argument出现的顺序传入数值;
python argparse模块
最新推荐文章于 2022-04-27 17:23:07 发布