Python 实时烧瓶

Python 实时烧瓶,python,flask,Python,Flask,我正在从txt文档中读取数据。TXT文档中有大量数据。我想解析这些数据。我想在将其拆分为数组后将其实时发送到html。此外,当我在网站在线时将新数据上传到txt文件时,我希望它将这些数据上传到阵列。我编写的代码不断显示重复数据。我哪里出错了 @app.route('/deneme6') def deneme6(): def generate(): enlem=[] boylam=[] with open("20210318_irk

我正在从txt文档中读取数据。TXT文档中有大量数据。我想解析这些数据。我想在将其拆分为数组后将其实时发送到html。此外,当我在网站在线时将新数据上传到txt文件时,我希望它将这些数据上传到阵列。我编写的代码不断显示重复数据。我哪里出错了

@app.route('/deneme6')
def deneme6():
    def generate():
        enlem=[]
        boylam=[]
        with open("20210318_irkit_test_1.txt") as file:
            csv_reader = csv.DictReader(file)

            for i in csv_reader:
                enlem.append(i['LATITUDE'])
                boylam.append(i['LONGITUDE'])
            data=[enlem,boylam]
        while True:   
            for item in data:                                                                                                                                                                          
                yield str(item)  
                    #yield data.read()
                sleep(1)
    return app.response_class(generate(), mimetype='text/plain')

我认为这是一个架构问题,而不是代码问题:

  • 如果您的.csv文件不断变化,我不会使用REST,而是使用WebSocket(将其从轮询系统更改为异步通知系统)
  • 如果您需要监控CSV的更改(您无法控制),我只需要在文件上查找更改,查找更改,然后通过websocket连接推送新数据
  • 我的假设:

  • 客户机和服务器需要实时通信更改
  • 您必须绝对从CSV文件中获取数据

  • 如果假设2不正确,那么我建议您使用某种内存中的数据库(可能只是一个静态变量).

    好的,我不明白的是,为什么每次收到请求时都会打开文本文件。如果我是你,我会在初始化时将文本加载到内存中,而不会一遍又一遍地读取该数据。我是否遗漏了你的问题?你的数据有两个元素,而你却不停地运行这两个元素。你说得对。那么,这段代码哪里出了问题?我希望在数据添加到txt时更新它。@rkrishnasanka