【发布时间】:2013-09-18 19:56:14
【问题描述】:
考虑以下脚本:
import argparse
parser1 = argparse.ArgumentParser()
parser1.add_argument('-a')
args1 = parser1.parse_args()
parser2 = argparse.ArgumentParser()
parser2.add_argument('-b')
args2 = parser2.parse_args()
我有几个问题:
- parse_args 是一次性方法还是有办法清除
添加新参数之前的参数? (例如类似的东西
args1.clear()或parser1.clear()) - 此脚本的结果不可用。虽然这个脚本接受
-a参数,它不接受 'a' 的任何值。也没有 接受任何-b参数。有什么方法可以使任何论点真正起作用吗? - 这是我的实际情况:我有 2 个脚本。两者导入相同 具有初始化代码的文件(加载配置文件,创建 loggers 等),我们称之为 init.py 这个 init.py 文件也解析 参数只是因为它需要一个值。问题 是我需要一个脚本来接受其他参数。 由于 init.py 使用一个参数做某事,我不能等待 解析参数。我怎样才能让它发挥作用?
编辑:
这是我的脚本的输出:
[提示]# python2.7 myscript.py -a
用法:a.py [-h] [-a A]
myscript.py:错误:参数 -a:预期一个参数
[提示]# python2.7 myscript.py -a 1
命名空间(a='1')
用法:a.py [-h] [-b B]
myscript.py:错误:无法识别的参数:-a 1
【问题讨论】: