Подходящий способ прочитать постоянно обновляемый (20 раз в секунду) файл в Python 3? - PullRequest
0 голосов
/ 16 января 2019

Я работаю с CSV-файлом, который постоянно растет, добавляя около 20 строк в секунду. Каждая строка должна быть проанализирована. Фрагмент кода, который я имею ниже, работает, но, кажется, через некоторое время он перестает обновляться. Он работает в своем собственном потоке, и если я вручную обновлю файл csv (т.е. новую строку каждые несколько секунд), он, кажется, будет работать отлично.

file=open('data.csv', 'r')
while True:
    line=file.readline()
    if len(line) > 2:
        print(line)
        #parse

Это на Ubuntu 14.04 и Python 3.5 (к сожалению, я застрял с этими версиями). Как ни странно, я не заметил никаких проблем при работе в Windows 7. Есть ли лучший способ подойти к этому?

1 Ответ

0 голосов
/ 16 января 2019

Поскольку OP утверждает, что файл добавляется, я бы посоветовал попробовать ответы на Как мне создать файл журнала в Python? . Короче, вы могли бы сделать:

  • Ваш скрипт Python должен использовать built-in tail и проверять возврат из tail.

  • Используйте внешний модуль Python с именем sh

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...