我有一個表示對象及其互連的文本文件,並且我想構建相應的Python對象結構,但我不確定什麼是最好的處理循環依賴的方法。如何從文本文件中創建Python對象圖(具有循環依賴關係)
爲了使這個具體的,假設我有一個文件:
a: b, c, other info for creating a
b: a, c, info...
c: a, d, info...
d: a, b, info...
我想創建對象A,B,C,d,其中A.link1 = B,A.link2 = C等等。問題是,當我分析的第一線,畫線B和C是不存在的,所以我不能把他們在A.
幾個備選方案:
讀取文件的兩倍。第一次創建對象,第二次創建鏈接。但是,兩次閱讀看起來很醜陋(並且不會與stdin一起使用)。
使用文本鏈接創建所有對象。然後掃描所有對象以用對象引用替換文本鏈接。
如果目標不存在,則創建一個佔位符對象。然後在讀取其行時填寫佔位符。但如果我想檢查缺失的鏈接,我需要再次通過。
我懷疑這樣做有一個共同的Python成語,我想避免過分複雜的事情。另外,讓我的對象類處理這個圖創建,還是應該有一個單獨的解析器類,是否最清晰?
(我的對象是比簡裝的例子更復雜,當然,別的不說,我打算找到連接的部件,如果有差別。)