一、sys 模块
在 Python 中,sys 模块是一个非常常用且十分重要的模块,通过模块中的 sys.argv 就可以访问到所有的命令行参数,它的返回值是包含所有命令行参数的列表(list),
参数列表
脚本名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[2]
import sys
def main():
print(sys.args[1])
print(sys.args[2])
if __name__ == "__main__":
main()
执行脚本
python test.py arg1 arg2
二、argparse
argparse 能指定传入参数的名称
import argparse
def main()
parser = argparse.ArgumentParser()
parser.add_argument("square", type=int,
help="display a square of a given number")
parser.add_argument("-v", "--verbosity", action="count", default=0,
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)
if __name__="__main__":
main()
执行脚本
python test.py 4
python test.py 4 -v 1
三、argh
check_data.py
def minus(left, right):
return left - right
def add(left, right):
return left + right
is __name__ == '__main__':
argh.dispatch_commands([add, minus]))
查看函数参数
python check_data.py add --help
执行
python check_data.py add -l 2 -r 3
5
注意函数名有下划线的,argh接受dispatch_commands后会把_变成- , 函数名add_one对应命令行参数add-one
查看脚本参数
python check_data.py --help
参考:
https://blog.youkuaiyun.com/ouyang_peng/article/details/79390920
https://docs.python.org/zh-cn/3/howto/argparse.html argparse教程
https://pythonhosted.org/argh/tutorial.html argh教程