argparse库
argparse库:python 标准库中推荐的命令行解析模块,可用于定义python命令
官方文档:https://docs.python.org/zh-cn/3.7/howto/argparse.html
# demo.py
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)
>
ApiFrame % python demo.py 2
4
ApiFrame % python demo.py 2 -v 1
2^2 == 4
ApiFrame % python demo.py 2 -v 2
the square of 2 equals 4
ApiFrame % python demo.py 2 -v 0
4
ApiFrame % python demo.py -h
usage: demo.py [-h] [-v {
0,1,2}] square
positional arguments:
square display a square of a given number
optional arguments:
-h, --help show this help message and exit
-v {
0,1,2}, --verbosity {
0,1,2}
increase output verbosity
sys.argv
参考文档:https://www.runoob.com/python/python-command-line-arguments.html
# demo.py
import sys
print('参数个数为:', len(sys.argv), '个参数')
print('参数列表:', str(sys.argv))
print('文件名称为:', str(sys.argv[0]))
>
ApiFrame % python demo.py 1 2 3 4
参数个数为: 5 个参数
参数列表: ['demo.py', '1', '2', '3', '4']
文件名称为: demo.py