@zlodiak

Как писать в файл во время запущенного bottle?

Есть класс, из которого я запускаю bottle, в результате чего пользователь видит страничку в браузере:

from bottle import route, run, request

from interfaces.interfaces import IView
import config

class Page(IView):
    def render(self):
        @route('/page')
        def page():
            return '''
                <form method="POST" action="submit">
                    <input type="hidden" name="start_parse" value="y">
                    <input type="submit" value="Start parse">
                </form>
            '''

        @route('/submit', method='POST')
        def submit():
            self.start_parse = request.forms.get('start_parse')

        run(host=config.host, port=config.port, debug=config.debug)


Из командной строки запускаю команду:
python3 ./index.py

файл index.py содержит инструкцию, которая запускает метод Page().render() из указанного выше кода

после этого отрабатывает некоторый скрипт, который записывает строку в текстовый файл. Проблема в том, что запись в файл происходит только после того как я в консоли нажимаю ctrl + c, и тем самым останавливаю выполнение bottle.

Но я хотел бы чтобы запись в файл происходила без остановки bottle. Подскажите пожалуйста как такое сделать.
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
NeiroNx
@NeiroNx
Программист
Запись происходит в момент вызова процедуры записи, но видишь изменения в момент освобождения блокировки файла. Нужно закрывать файл сразу же после записи, чтобы разблокировать его.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы