0

这是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))
4

1 回答 1

0

Duarte,您几乎已经回答了自己的问题,您正在使用每个循环重新创建表格。分离出你的逻辑:

# 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 数据库中,您可以在脚本开始时建立与数据库的连接,然后将数据库中的数据操作到您想要的内容。

于 2013-05-25T04:31:19.007 回答