-
-
Notifications
You must be signed in to change notification settings - Fork 104
Open
Description
There are several issues on this tracker discussing python-zstandard's approach to .seek
, summarised by this comment: #216 (comment)
But it sounds like python-zstandard is still happy with forward seeks. If so, we should return True
from seekable
, so that e.g. we can forward seek through io.BufferedReader
: https://github.com/python/cpython/blob/dd0a1f9da283bd784e2c88efec0a45cef978516a/Modules/_io/bufferedio.c#L1227
Here's a small repro:
import zstandard
fn = "whatever.zst"
unbuffered = zstandard.open(fn)
unbuffered.seek(10)
unbuffered.read(10) # works fine
buffered = io.BufferedReader(zstandard.open(fn))
buffered.seek(10) # fails
# UnsupportedOperation: File or stream is not seekable.
It's useful to wrap with BufferedReader to get functionality like readline
(I noticed you recommended doing this here as well :-) #13 (comment) )
Metadata
Metadata
Assignees
Labels
No labels