1

有些问题我无法通过阅读文档和其他一些问题来解决。

1:我被“我如何实际检索参数”难住了,所以我环顾四周,有人建议使用该__dict __函数像字典一样访问它。哪个有效,但这是唯一的方法吗?这似乎是一件相当普遍的事情,但在文档中似乎并不明显。如果我错过了,也许有人可以指出来?它绝对不在顶部。

2:argparse在 2.7 中引入,但有些人拒绝获得更新版本的 python 并继续坚持使用旧版本,如 2.5、2.6,原因我不知道。我处理它们的解决方案是获取argparse模块并将其放在我自己的脚本目录中。这个解决方案有什么问题吗?它似乎至少在工作。

4

2 回答 2

4

您可以使用该parse_args()函数来检索参数。例如:

parser = argparse.ArgumentParser(description="Test")
parser.add_argument('command')

parameters = parser.parse_args()
cmd = parameters.command

要回答您的第二个问题,不建议您这样做。仅仅添加模块是不够的,因为您可能会遇到依赖问题(即,在内部,argparse 可能需要仅在 2.7 中提供的其他内容)。较旧但已弃用的版本是optparse

于 2011-08-18T15:32:48.303 回答
3

广告 1:检索值非常简单:

parser.add_argument('--some_arg', action='store')
parser.add_argument('--some_flag', action='store_true')

args = parser.parse_args()

现在可以使用args.some_argargs.some_flag文档中看到这些值。

广告 2:由于 argparse 是在 2.7 中引入的,许多人为了向后兼容而坚持使用旧版本optparse,因为该模块可能不可用。语法相当一致。我的解决方案是尝试解析argparseoptparse用作后备。

于 2011-08-18T15:36:55.450 回答