Python在不断刷新数据的同时,也不断刷新用户输入

2024-05-19 21:56:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用模块mysql.connector,我正在制作一个小型控制台消息应用程序。只要不要求用户输入,我就能够不断刷新数据。但是,我需要用户输入以便人们可以发送消息,有没有一种方法可以让数据不断更新并允许发送消息

代码

while True:
    db = mysql.connector.connect(
    host="127.0.0.1",
    port="3306",
    user="root",
    database="pythondb"
    )

    cursor = db.cursor()

    for message in fetchMessages():
        if(message.sender == socket.gethostname()):
            print(f"You: {encryption.decode('goldenwonders', message.message)}")
        else:
            print(f"{message.sender}: {encryption.decode('goldenwonders', message.message)}")

    
    
    message = input("\nPlease Enter a Message: ")
    message = encryption.encode('goldenwonders', message)
    sender = socket.gethostname()
        
    sql = "INSERT INTO messages (message, sender) VALUES (%s, %s)"
    values = (message, sender)

    cursor.execute(sql, values)
    db.commit() 

    cursor.close()
    db.close()

这里是fetchMessages函数以防万一

def fetchMessages():
    cursor.execute("SELECT * FROM messages")
    results = cursor.fetchall()
    messages.clear()
    os.system('cls')
    for x in results:
        messages.append(Message(x[1], x[2]))

    return messages

我希望有人能提供答案

谢谢你的帮助