13

我希望能够以下列方式从 shell 命令行启动 python 脚本:

python script_name -temp=value1 -press=value2

我是这样写的:

#!/usr/bin/python

import sys
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("temp", help="specify the temperature [K]", type=float)
parser.add_argument("press", help="specify the pressure [Pa]", type=float)

args = parser.parse_args()
temp = args.temp
press = args.press
print temp
print press

输入可以是:

python script_name value1 value2

如何能够以 -arg=value 的方式输入值?

4

2 回答 2

12

利用parser.add_argument("--temp", ...)

argparser 手册中有很好的例子:

http://docs.python.org/2.7/library/argparse.html

编辑:

对于-仅以模式开头的参数-argument VALUE有效。这也适用于以 开头的参数--,但在这里您也可以使用模式--argument=VALUE

于 2013-01-28T17:08:51.167 回答
0

当配置为接受“-argument VALUE”形式的参数时,argparse 也会自动接受“-argument=VALUE”形式的参数

于 2018-12-21T18:38:16.830 回答