1. 按
推荐使用argparse
库,可以自动生成帮助文档,且开发使用都很方便,效果很好。
官方文档:https://docs.python.org/3.8/howto/argparse.html
2. 实例
2.1. 添加不需要赋值的选项
If you are familiar with command line usage, you will notice that I haven’t yet touched on the topic of short versions of the options. It’s quite simple:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v", "--version", help="Show the current version.",
action="store_true")
args = parser.parse_args()
if args.verbose:
print("The current version is v1.0")
将上述代码保存在test.py
脚本里,然后在命令行中先转到test.py
脚本再运行
python test.py -v
The current version is v1.0
再次运行,这次查看一下自动生成的帮助文件,效果很棒。
python test.py -h
usage: test.py [-h] [-v]
optional arguments:
-h, --help show this help message and exit
-v, --version Show the current version.
2.2. 添加需要赋值的选项
import argparse
parser = argparse.ArgumentParser()
parser.description='please enter two parameters a and b ...'
parser.add_argument("-a", "--inputA", help="this is parameter a", dest="argA", type=int, default="0")
parser.add_argument("-b", "--inputB", help="this is parameter b", type=int, default="1")
args = parser.parse_args()
print("parameter a is :",args.argA)
print("parameter b is :",args.inputB)
代码保存到test2.py
文件中,我们先运行:python test2.py -h
,显示如下结果:
python test2.py -h
usage: test2.py [-h] [-a ARGA] [-b INPUTB]
please enter two parameters a and b ...
optional arguments:
-h, --help show this help message and exit
-a ARGA, --inputA ARGA
this is parameter a
-b INPUTB, --inputB INPUTB
this is parameter b
-h
表示显示帮助信息,也可以输入--help
显示帮助信息。通常--help
是表示完整的长参数,-h
表示短参数,两者功能一致。- 上面的帮助信息显示有两个参数,输入形式可以是
-a
和-b
或者是--inputA
和--inputB
help="this is parameter a"
的帮助信息也会显示在窗口上面,用来描述该参数。type
表示该参数类型,必须输入的类型。default
表示在没有输入该变量的情况下默认的值。a
和b
两个参数不同的地方在于,a
参数中多了一个dest="argA"
,用来表示在代码中如何引用参数a
。这个可以从代码中看到,加了dest
之后,参数a
的引用方式是args.argA
。而b参数因为没有加dest
描述,默认的引用方式是args.inputB
。参数a
使用dest
已经改变了其引用名称,因而默认的args.inputA
已经不能使用了。
在命令行直接运行 python test2.py
,结果如下:
python test2.py
parameter a is : 0
parameter b is : 1
没有输入参数,于是打印的就是默认的参数数值。
再次尝试进行带参数输入python test2.py -a 2 -b 3
,结果如下:
python test2.py -a 2 -b 3
parameter a is : 2
parameter b is : 3
2.3. 更多帮助
一般而言,本文所介绍的两种方法就够用了,如果您还需要更多帮助,可以参考:官方文档