我正在使用OptionParser为脚本获取一些命令行选项。我的脚本中有以下内容:
parser.add_option("--pass", help="password used for authentication")
(options, args) = parser.parse_args()
OptionParser获取所有选项并将它们作为命名成员放在对象上。因此,要访问'pass'中的选项,我必须引用options.pass。这会引发异常,因为pass是一个保留关键字(我假设...我是一个python n00b)。
如何访问此成员以获取数据?我知道我可以更改选项的名称,但我很好奇如何在不更改名称的情况下执行此操作。
答案 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
不是问题。