编写能在命令行输入参数调用的py文件
想要在cmd或是shell命令行中运行py文件,并能够给py文件中函数参数进行赋值,需要使用argparse库。简单的代码示例如下:
import argparse
def calculate(a, b, c):
s = float(a) + float(b) + float(c)
print(s)
return s
parser = argparse.ArgumentParser()
parser.add_argument('--arg1', '-a', help='第一个参数')
parser.add_argument('--arg2', '-b', default=1, help='第二个参数')
parser.add_argument('--arg3', '-c', help='第三个参数')
args = parser.parse_args()
a = args.arg1
b = args.arg2
c = args.arg3
calculate(a, b, c)
调用命令:
python xxx.py -a=10 -b=5 -c=3
输出结果:
18.0
add_argument还有很多参数,对应的说明如下表:
参数 | 说明 |
---|---|
name | 定义参数的名字 |
action | 指定参数的动作类型,常见的有store、store_const、store_true、store_false、append |
dest | 指定参数解析后的目标变量名,参数值将赋值给这个变量 |
default | 设置参数的默认值 |
type | 指定参数的类型 |
choices | 参数值的限定选择,只允许特定值 |
required | 设置参数是否是必须的 |
help | 展示参数的帮助信息,描述参数的作用和使用方法 |
metavar | 参数在帮助信息中的显示名字 |
nargs | 参数接受值得个数【?:表示零个或一个;*:表示零个或多个;+:一个或多个】 |
注:以上参数可根据需要自行组合,以满足需求