数据中的sqlite3接收python通信

时间:2013-05-25 02:04:55

标签: python python-2.7 raspberry-pi

这是python编程中的简单聊天代码。我希望收到越来越多的知识并存储ip,主机和消息。但事实上,它只记录一次而不是总是?像这样解决? (我使用SQLITE3)

while true:
    data = conn.recv (1024)
    cur=con.cursor()
    cur.execute("CREATE TABLE amo(IP INT, data TEXT)")
    cur.execute("INSERT INTO amo VALUES(?,?)", (HOST, data))

1 个答案:

答案 0 :(得分:0)

杜巴特,你几乎已经回答了自己的问题,你正在用每个循环重新创建表。分开你的逻辑:

# establish you database connection and create the table, if it does not already exist
... (create your db connection here) ...
cur = con.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS amo(IP INT, data TEXT)")

# open your chat connection, and store the data
while True:
    ... (chat data) ...
    cur.execute("INSERT INTO amo({},{})".format(HOST, data))

您只需要创建一次表,然后它将在sqlite3 db中,您可以在我们脚本的开头建立与db的连接,并将数据库中的数据操作到您的心脏'之后的内容。