How To Read A File As It Is Being Written In Real Time With Python 3 And Asyncio, Like "tail -f"
Solution 1:
I suspect I'll have to end up using select, but I'm not sure. I suspect that this is pretty simple, but I have a hard time finding an example of how to do this
With asyncio, the idea is that you don't need to select()
yourself because asyncio selects for you - after all, a select()
or equivalent is at the heart of every event loop. Asyncio provides abstractions like streams that implement a coroutine facade over the async programming model. There are also the lower-level methods that allow you to hook into select()
yourself, but normally you should work with streams.
In case of tail -f
, you can't use select()
because regular files are always readable. When there is no data, you get an EOF and are expected to try again later. This is why tail -f
historically used reads with pauses, with the option to deploy notification APIs like inotify where available.
Post a Comment for "How To Read A File As It Is Being Written In Real Time With Python 3 And Asyncio, Like "tail -f""