我正在使用OptionParser獲取腳本的某些命令行選項。我在腳本中有以下內容:訪問作爲保留關鍵字的python對象成員
parser.add_option("--pass", help="password used for authentication")
(options, args) = parser.parse_args()
OptionParser將所有選項都作爲命名成員放在一個對象上。因此,要訪問'通'中的選項,我不得不引用options.pass。這會拋出一個異常,因爲pass是一個保留關鍵字(我假設...我是一個python n00b)。
我如何訪問此會員以獲取數據?我知道我可以更改選項的名稱,但我很好奇如何在不更改名稱的情況下執行此操作。
哇。聽起來像是一個bug。 – Elazar
@Elazar:什麼?您可以使用關鍵字作爲屬性名稱?請記住,無論如何,本質上屬性只是一本字典,所以它們可以具有相當任意的名稱應該不會令人驚訝 - 這只是從句法上來說它們不能用點表示法表示。 – FatalError
對象可以具有無法使用點符號(即使從它自己的方法)訪問的屬性的事實聽起來像一個錯誤。這絕不是故意的「功能」。 'x.pass'有什麼問題?如果你不允許這樣做,你應該添加一個明確的檢查字典。哦,它太貴了嗎?所以請允許它。如果需要,更改語法。 – Elazar