2013-01-11 53 views
0

說我有描述的格式的圖像這樣的文件:的Python:轉換字符串對象

Directional:True 
Simplicity:True 
{ 
    1:[2,3] 
    2:[1,3] 
} 

和我有定義如下面的曲線圖類:

class Graph: 

def __init__(self,directional = False,simple=True,Filename=None): 
    self.adjacencyList = {} 
    self.directional = directional 
    self.simple = simple 
    if not Filename: 
     _readFile(Filename) 

反正是有把這個文件轉換成這個類很容易。我知道我可以編寫一個函數來逐行讀取文件並自己做這件事。但是由於python是一種高度發達的語言,有沒有簡單的方法來做到這一點?

在此先感謝。

+0

您可以使用正則表達式在正確的位置添加逗號和括號,以便您可以將'ast.literal_eval()'生成的Python對象。 – Blender

+0

自己逐行進行操作非常簡單。使用正則表達式和'str.split()'來解析這些行。 – user763305

+0

你能對此更具體嗎?謝謝 – dorafmon

回答

0

不,因爲該文件不符合任何標準/流行格式。它接近YAML,但不夠接近直接解析。