如何使用argparse
分割Python脚本的长参数?
当前,您必须使用参数调用脚本,如下所示:
python myscript.py --argument1 "Value1" --argument2 "Value2" --argument3 "Value3" --argument4 "Value4" --argument5 "Value5" --argument6 "Value6"
然而,这很难写,特别是当参数列表很长时。我认为下面的内容将更容易阅读。但是当我尝试以下操作时,会收到以下错误:unrecognized arguments: \
python myscript.py \
--argument1 "Value1" \
--argument2 "Value2" \
--argument3 "Value3" \
--argument4 "Value4" \
--argument5 "Value5" \
--argument6 "Value6"
有人知道该怎么做吗?还是根本不可能?
[如果有人需要它;这是我的代码示例:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--argument1')
parser.add_argument('--argument2')
parser.add_argument('--argument3')
parser.add_argument('--argument4')
parser.add_argument('--argument5')
parser.add_argument('--argument6')
args = parser.parse_args()
出于可读性考虑,假设您在谈论Value1
,Value2
,...是非常长的字符串,则可以执行此操作。
python myscript.py \
--argument1 "Value1 is very very very \
long long long string" \
--argument2 "Value2" \
--argument3 "Value3" \
--argument4 "Value4" \
--argument5 "Value5" \
--argument6 "Value6"
或者您可以先将长参数字符串分配给shell变量。
ARG1="Value1 is very very very \
long long long string"
python myscript.py \
--argument1 "${ARG1}" \
--argument2 "Value2" \
--argument3 "Value3" \
--argument4 "Value4" \
--argument5 "Value5" \
--argument6 "Value6"