编写能在命令行输入参数调用的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 | 参数接受值得个数【?:表示零个或一个;*:表示零个或多个;+:一个或多个】 |
注:以上参数可根据需要自行组合,以满足需求
2467

被折叠的 条评论
为什么被折叠?



