2015-11-19 47 views
1

我已經定義了這個類保存對象:的Python:在一個文件

class User(): 
def __init__(self, ip, update, priority): 
    self.ip = ip 
    self.update = update 
    self.priority = priority 

我有一個Socket,每一次一個客戶端的工作是連接我創建一個User對象。我想將它保存在某個地方,然後能夠處理它的數據,也就是說讀取保存的文件。 我不知道該怎麼做。我試圖用一個txt文件,但與類用戶的領域是複雜的,我也希望有更多的東西動態,像

add(user), isPresent(user), overwrite(user) 

什麼是我的情況下,最好的解決辦法?

+0

還可以連接到數據庫或使用鹹菜,把你的信息在字典中,你可以保存和讀取,更新 – gkusner

+0

你有使用數據庫的任何例子嗎? – brid

+0

不是真的 - 這是更復雜,但有例如聯機,嘗試谷歌「python數據庫」 – gkusner

回答

1

如果您的用戶類是真的就這麼簡單,你可以用泡椒:

(包括Python 2和3個環節在內)。

u = User(127.0.0.1, "foo", "bar") 
pickle.dumps(u) 
+0

謝謝。如果我保存兩次相同的對象會發生什麼?將只有一個或兩個實體? – brid

+0

@ m.ridolfi - 據我所知,Pickle應該是冪等的。因此多次保存相同的對象將會得到相同的結果。現在,當然,您必須*選擇*保存對象的位置(文本文件,數據庫等等),所以如果您要求可以*保存同一個對象兩次,那完全取決於您。 – criswell