因此,我最近開始爲我正在開發的Python項目編寫配置解析器。我最初避免configparser和configobj,因爲我想支持一個配置文件,如下所示:Python配置解析器(重複密鑰支持)
key=value
key2=anothervalue
food=burger
food=hotdog
food=cake icecream
總之,這個配置文件將被通過命令行通過SSH經常編輯。所以我不想挑選或挑剔間距(如YAML),但我也希望避免具有多個值(容易10或更多)的密鑰在vi中進行換行。這就是爲什麼我想支持重複鍵。當我向Python配置對象尋求食物時,它會給我一個帶有'漢堡','熱狗','蛋糕','冰淇淋'的列表。如果沒有定義食物價值,它會查找一個默認配置文件,並給我那個/那些值。
我已經執行上述
然而,我的煩惱時,我意識到,我想支持維護在線評論和這樣的開始。處理讀寫配置文件的方式是將文件解碼爲內存中的字典,從字典中讀取值或將值寫入字典,然後將該字典轉儲迴文件中。這對於保持線路順序和評論等並不是很好,而且它也在扼殺我。
A)ConfigObj看起來像它有我需要的一切,除了支持重複鍵。相反,它要我做一個列表將是一個痛苦,因爲線包裝在ssh上通過vi手動編輯。我可以讓configobj更友好的ssh/vi嗎?
B)我的自制解決方案是否錯誤?有沒有更好的方式來讀/寫/存儲我的配置值?是否有任何簡單的方法可以通過修改該行並從內存中重寫整個配置文件來處理更改配置文件中的鍵值?
,你需要其他功能增值字典 – Andrey 2011-03-22 19:34:04