我想创建一个像这样的脚本
./myscript.py -g parser -a parserapp
并且每当脚本缺少一个选项(例如./myscript.py -g parser
)时,它将打印出使用情况并退出脚本
The script should be: ./myscript.py -g parser -a parserapp
所以,我的问题是如何检查选项-a
或-g
是否缺失;所以,它可以打印出脚本的用法并退出。
感谢您的帮助
答案 0 :(得分:3)
使用argparse
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-g", "--gggg", help="g parameter",required=True)
parser.add_argument("-a", "--aaaa", help="a parameter",required=True)
args = parser.parse_args()
print args.g, args.a
当你用-h运行它时会显示帮助:
~#:python myscript.py -h
usage: myscript.py [-h] -g GGGG -a AAAA
optional arguments:
-h, --help show this help message and exit
-g GGGG, --gggg GGGG g parameter
-a AAAA, --aaaa AAAA a parameter
如果您错过参数,则会打印错误:
myscript.py: error: argument -g/--gggg is required
答案 1 :(得分:2)
对于你的需要,argparse可以检查参数是否缺失或不是这样:
import argparse
parser = argparse.ArgumentParser(description='My Super Script')
parser.add_argument(
'--parser', '-p',
required=True,
help='Parser Type'
)
parser.add_argument(
'--application', '-a',
required=True,
help='Application Name'
)
args = parser.parse_args()
默认情况下,除非指定required=True
,否则argparse会将命名参数视为可选参数
如果未提供两个参数,则会打印默认帮助
ref
答案 2 :(得分:1)
可以使用optparse或argparse来解析参数。你可以提供漂亮的帮助选项等等。也可以很容易地接受不同类型的参数。
答案 3 :(得分:1)
您可以使用argparse
模块
对于Python3.x,您可以查看here
对于Python2.x,您可以查看here。
除argparse
外,您还可以使用getopt
模块
使用getopt
:
https://docs.python.org/3.1/library/getopt.html(Python3.x)
https://docs.python.org/2/library/getopt.html(Python2.x)