前言
如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv
将脚本后的参数依次读取(读进来的默认是字符串格式)。比如如下名为test.py的脚本:
1 2 |
import sys print "Input argument is %s" % (sys.argv[ 0 ]) |
在shell脚本中运行python test.py help可以得到Input argument is help的结果。
但是大多数情况下,脚本很可能需要多个参数,而且每次参数的类型用处各不相同,那么这个时候在参数前添加标签表明参数的类型和用途便十分有用,而利用argparse模块可以很方便得实现这一目的。
同样用名为test.py的脚本举个栗子:
1 2 3 4 5 6 7 8 9 10 |
import argparse parser = argparse.ArgumentParser(description = "your script description" ) # description参数可以用于插入描述脚本用途的信息,可以为空 parser.add_argument( '--verbose' , '-v' , action = 'store_true' , help = 'verbose mode' ) # 添加--verbose标签,标签别名可以为-v,这里action的意思是当读取的参数中出现--verbose/-v的时候 # 参数字典的verbose建对应的值为True,而help参数用于描述--verbose参数的用途或意义。 args = parser.parse_args() # 将变量以标签-值的字典形式存入args字典 if args.verbose: print
|