2

我正在使用 OptionParser 来获取脚本的一些命令行选项。我的脚本中有以下内容:

parser.add_option("--pass", help="password used for authentication")
(options, args) = parser.parse_args()

OptionParser 接受所有选项并将它们作为命名成员放在对象上。因此,要访问“pass”中的选项,我必须引用 options.pass。这会引发异常,因为 pass 是保留关键字(我假设......我是 python n00b)。

我将如何访问该成员以获取数据?我知道我可以更改选项的名称,但我很好奇如何在不更改名称的情况下执行此操作。

4

2 回答 2

4

您可以使用该getattr()函数按名称检索它:getattr(options, 'pass'). 当以这种方式访问​​属性时,您对如何命名属性的限制较少,例如在这种情况下您可以使用关键字。

于 2013-06-26T19:15:20.770 回答
2

使用getattr()函数检索它:getattr(options, 'pass')

但是,最好不要使用保留关键字作为成员。您可以保留该--pass选项,但将其保存为password

parser.add_option("--pass", help="password used for authentication", dest='password')

那么,options.password问题不大。

于 2013-06-26T19:20:02.530 回答