年轻程序员 2023-04-16 17:07 采纳率: 90.9%
浏览 28
已结题

python中api内容动态更新怎么实现

目前在服务器上用一个py脚本接收单片机发送的套接字数据,用while ture来实时更新,要怎么做一个api来实现把最新数据放到api中,现在是一直卡在脚本里获取实时数据,下面的api.run根本不跑怎么办?换句话就是想让本来按照顺序执行程序的py实现两个程序并行

  • 写回答

1条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-16 17:17
    关注

    基于Monster 组和GPT的调写:
    用 Flask 来实现一个 API,用于返回最新的单片机数据:

    from flask import Flask, jsonify
    
    app = Flask(__name__)
    
    latest_data = {}  # 存储最新的数据
    
    @app.route('/latest_data', methods=['GET'])
    def get_latest_data():
        """获取最新的数据"""
        return jsonify(latest_data)
    
    def update_latest_data():
        """定期更新最新数据"""
        while True:
            # 获取最新的数据,并存储在 latest_data 中
            latest_data = receive_latest_data()
    
    if __name__ == '__main__':
        # 启动定期更新最新数据的线程
        from threading import Thread
        update_thread = Thread(target=update_latest_data)
        update_thread.start()
    
        # 启动 API
        app.run()
    
    
    

    et_latest_data() 函数用于获取最新的数据,并返回一个 JSON 格式的响应。update_latest_data() 函数用于定期获取最新的数据,并将其存储在 latest_data 变量中。

    通过将 update_latest_data() 函数放在一个单独的线程中运行,可以使其与 API 同时运行,实现并行处理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月27日
  • 已采纳回答 5月27日
  • 修改了问题 4月16日
  • 创建了问题 4月16日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏