/
mialdr
/
python_advanced
Обзор
Документация
Войти
/
mialdr
/
python_advanced
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
module_02_linux/homework/hw6/head_file.py
49 строк
2 KB
Druchek MA
module2 is solved
23 авг 2023, 22:06
23 авг 2023, 22:06
579343d
Код
Авторство
О чём код?
""" Реализуйте endpoint, который показывает превью файла, принимая на вход два параметра: SIZE (int) и RELATIVE_PATH — и возвращая первые SIZE символов файла по указанному в RELATIVE_PATH пути. Endpoint должен вернуть страницу с двумя строками. В первой строке будет содержаться информация о файле: его абсолютный путь и размер файла в символах, а во второй строке — первые SIZE символов из файла: <abs_path> <result_size><br> <result_text> где abs_path — написанный жирным абсолютный путь до файла; result_text — первые SIZE символов файла; result_size — длина result_text в символах. Перенос строки осуществляется с помощью HTML-тега <br>. Пример: docs/simple.txt: hello world! /preview/8/docs/simple.txt /home/user/module_2/docs/simple.txt 8 hello wo /preview/100/docs/simple.txt /home/user/module_2/docs/simple.txt 12 hello world! """ from flask import Flask import os app = Flask(__name__) BASEDIR = os.path.dirname(os.path.abspath(__file__)) @app.route("/head_file/<int:size>/<path:relative_path>") def head_file(size: int, relative_path: str): abs_path = os.path.abspath(relative_path) with open(relative_path, 'r') as file: result_text = file.read(size) result_size = len(result_text) return f'{abs_path} {result_size}<br>{result_text}' if __name__ == "__main__": app.run(debug=True)