2012-08-31 88 views
0

我正在製作一個小程序,將某些文件從遊戲備份到Dropbox等網站,而不是添加我想手動備份的每一個遊戲。我想製作一個小遊戲,向遊戲的文件添加信息。爲python應用程序存儲數據

例如,假設我想備份像Minecraft這樣的遊戲。我想要嚮導詢問遊戲的可執行文件,可選圖標以及要備份的信息類型等信息。當程序第一次啓動時,我希望它爲用戶提供搜索框以查找遊戲,那麼程序會檢查它是否存在,並用複選框和事物提供一個很好的界面來選擇你想要做的事情。

我基本上是問有沒有某種數據庫來存儲信息,並且應該從單個數據庫中複製這些信息。但是,當有人下載​​我的程序並將他們的遊戲添加到列表中時,它應該從單個數據庫複製該信息。

我很抱歉,如果我是可怕的,在解釋的事情:/

+0

你有什麼試過的?另外,請嘗試縮小到具體問題。 –

+0

我想知道是否有一個數據庫來存儲信息,併爲程序的每個用戶創建一個本地數據庫,該數據庫只包含需要從大型數據庫中複製的信息。 – user1155844

+2

你可以a)使用[pickle](http://docs.python.org/library/pickle.html)來存儲序列化的Python對象b)使用像[sqlite3]這樣的數據庫(http://docs.python.org /library/sqlite3.html)來存儲信息,這些信息也可以分發,或者c)提出自己的格式來存儲與程序相關的信息。沒有更多的信息,我們不可能說他們哪一個是最好的選擇。 –

回答

3

使用sqlite3的,只是存儲用戶數據的名稱 http://docs.python.org/library/sqlite3.html

import sqlite3 
db = sqlite3.connect("settings.db") 
c = db.cursor() 
c.execute("""CREATE TABLE IF NOT EXISTS userdata (
        user_name TEXT, 
        settings1 TEXT, 
        settings2 TEXT 
        );""") 
c.execute("INSERT INTO user_data (user_name,settings1,settings2) VALUES (?,?,?)",("bob","some_Value","some Other Value") 
db.commit() #save it 
c.execute("SELECT * FROM userdata WHERE user_name=?",GetUserName()) 
print c.fetchall() 

或使用鹹菜http://docs.python.org/library/pickle.html

import pickle 
try: 
    with open("settings.dat") as f: 
     print pickle.load(f) 
except IOError: 
     print "No Settings Found" 
user_data = {"bob":{"path1":"some/path","otherVar":"56"}, 
       "paul":{"url":"http://docs.python.org/library/sqlite3.html"} 
       } 
with open("settings.dat","wb") as f: 
     pickle.dump(f) 

兩個這些都是未經測試的...他們只是我的頭頂,可能包含小錯誤

+0

謝謝:D,我從來沒有想過用這種方式使用泡菜。 – user1155844

相關問題