访问作为保留关键字的python对象成员

时间:2013-06-26 19:13:40

标签: python

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

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

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

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

使用getattr()功能检索它:getattr(options, 'pass')

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

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

然后,options.password不是问题。