home / github / issue_comments

Menu
  • GraphQL API
  • Search all tables

issue_comments: 1489744942

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions performed_via_github_app issue
https://github.com/pydata/xarray/pull/7698#issuecomment-1489744942 https://api.github.com/repos/pydata/xarray/issues/7698 1489744942 IC_kwDOAMm_X85Yy7Qu 10678620 2023-03-30T06:02:41Z 2023-03-30T06:03:03Z NONE

Agreed, and a reference to a pretty authoritative source: https://github.com/python/cpython/blob/3.11/Modules/_io/bufferedio.c#L915

It's confusing the method has a parameter called filename_or_obj but doesn't actually handle filenames.

One workaround is to use os.read when passed a filename, and .read() when passed a file object. Something similar to: python def get_magic_number(filename_or_obj, count=8): if isinstance(filename_or_obj, (str, os.PathLike)): fd = os.open(filename_or_obj, os.RDONLY) # Append os.O_BINARY on windows magic_number = os.read(fd, count) if len(magic_number) != count: raise TypeError("Error reading magic number") os.close(fd) elif isinstance(filename_or_obj, io.BufferedIOBase): if filename_or_obj.seekable(): pos = filename_or_obj.tell() filename_or_obj.seek(0) magic_number = filename_or_obj.read(count) filename_or_obj.seek(pos) else: raise TypeError("File not seekable.") else: raise TypeError("Cannot read magic number.") return magic_number On my laptop (w/ SSD) using os.read is about 2x faster than using .read()

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  1646350377
Powered by Datasette · Queries took 0.529ms · About: xarray-datasette