繁体   English   中英

Python - 保存进程中的数据以在 Main 上使用 - Websocket

[英]Python - Save data from Process to use on Main - Websocket

好的,我想做的是使用 websocket 给我的信息。 但由于它仍然处于循环中,我决定在一个进程中开始说 websocket。 现在的问题是我不知道如何从 main 循环中获取该进程的信息。 我尝试使用 a.txt 但我认为当一个 function 尝试覆盖而另一个尝试打开它时会产生错误,因为执行整个代码我的进程没有编辑.txt的内容或至少capture()没有不要接受改变

def on_message(ws,msg):
    with open("f.txt", "w") as f:
        f.write(msg)
        f.close
def startWebSocket():
    ws = websocket.WebSocketApp(SOCKET, on_message=on_message)
    ws.run_forever()

def capture():
    s=True
    while s:
        with open(os.path.join(sys.path[0], "f.txt"), "r") as f:
            if f.readable():
                msg = json.loads(f.read())
                f.close
                s=False
    #work with msg

if __name__ == '__main__':
    p = Process(target=startWebSocket)
    p.start()
    p.join()

capture()

我希望它被理解。 我现在正在尝试使用.txt,但如果有更好的解决方案,请告诉我。 谢谢

那么我发现的最好方法是创建一个 sqlite 数据库并在双方都使用它

要记住的是,必须创建两个进程才能使一切正常工作。 就我而言:

if __name__ == '__main__':
    p1 = Process(target=startWebSocket)
    p2 = Process(target=capture)
    p1.start()
    p2.start()
    p1.join()
    p2.join()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM