Вернуть отформатированный текстовый файл с Flask - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь создать ответ с последними 100 строками из текстового файла (например, файла журнала) в моем приложении Flask. Мне нужен простой форматированный текст (по крайней мере, с номерами строк), а не простой текстовый файл (например, что-то вроде кодов GitHub).

Я видел похожие проблемы для других языков, но я не уверен, что это лучший способ справиться с этим с помощью HTML / CSS или с самим Flask, но для меня это не имеет значения. Вот мой скрипт, который возвращает 100 последних строк в виде простого простого текста:

from flask import Flask
from flask import request
from flask import Response


app = Flask(__name__)


def tail(file, n=1, bs=1024):
    f = open(file)
    f.seek(0,2)
    l = 1-f.read(1).count('\n')
    B = f.tell()
    while n >= l and B > 0:
            block = min(bs, B)
            B -= block
            f.seek(B, 0)
            l += f.read(block).count('\n')
    f.seek(B, 0)
    l = min(l,n)
    lines = f.readlines()[-l:]
    f.close()
    return lines

@app.route('/logs', methods = ['GET'])
def print_logs():
    if request.method == 'GET':
        file_path = "Logs.txt"
        data = tail(file_path, 100)
        return Response(data, mimetype='text/plain')


if __name__ == "__main__":
    app.run(host="localhost", port=80, debug=True, threaded=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...