微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

与 python 中的另一个脚本共享实时数据源

如何解决与 python 中的另一个脚本共享实时数据源

我使用 WebSocket 模块从网站流式传输实时数据源,并使用 Pandas DataFrame(内存中)附加实时源。但是我目前坚持使用另一个脚本,我想在其中调用这个 pandas(in-memory) 变量并在其中应用一些带有线程模块的函数。下面是我的一些编码快照。

datafeed.py

import websocket
import pandas as pd
import json

df = pd.DataFrame()

def on_message(ws,message):
# print('msg: ' + message)
jsonData = json.loads(message)
tick = jsonData['tick']
quote = tick['quote']
df.append(quote)        ##this df(in_memory) variable which i need access to from another script


def on_error(ws,error):
    print('err: ' + error)


def on_close(ws):
    print("### closed ###")


 def on_open(ws):
    for symbol in listSymbols:
        sub_params = {'ticks': symbol,'subscribe': '1'}
        my_json = json.dumps(sub_params)
        print('my_json: ' + my_json)
        ws.send(my_json)


 def open_servidor():
    # if __name__ == "__main__":
    websocket.enableTrace(True)
    host = "wss://ws.binaryws.com/websockets/v3?app_id=23487"
    ws = websocket.WebSocketApp(host,on_open=on_open,on_message=on_message,on_error=on_error,on_close=on_close)
# ws.on_open = on_open
# ws.send("{  \"ticks\": \"R_50\",\"subscribe\": 1}")
    ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})

main.py

import datafeed
import threading

s = threading.Thread(threading.Thread(target=barFeed.open_servidor())
s.start()

我需要的是将接收实时数据馈送的“df”变量调用到 main.py 文件中,在那里我可以使用线程模块在其中应用一些功能,因为它是一个 IO 绑定任务。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。