skbio.io.util.open

skbio.io.util.open(file, mode='r', encoding=None, errors=None, newline=None, compression='auto', compresslevel=9)[源代码]

将输入转换为文件句柄。

状态:0.4.0稳定。

支持的输入:

类型

会读

可以写

源类型

文件路径

千真万确

千真万确

二进位

URL

千真万确

错误

二进位

["lines list\n"]

千真万确

千真万确

文本

io.StringIO

千真万确

千真万确

文本

io.BytesIO

千真万确

千真万确

二进位

io.TextIOWrapper

千真万确

千真万确

文本

io.BufferedReader

千真万确

错误

二进位

io.BufferedWriter

错误

千真万确

二进位

io.BufferedRandom

千真万确

千真万确

二进位

tempfile.TemporaryFile()

千真万确

千真万确

二进位

tempfile.NamedTemporaryFile()

千真万确

千真万确

二进位

备注

读取Unicode(字符串)行的列表时, newline 用于确定结果文件句柄中的行数,而不是列表中的元素数。这是为了允许与 file.readlines()

参数:
  • file (filepath, url, filehandle, list) -- 要转换为文件句柄的输入。

  • mode ({'r', 'w'}, optional) -- 是否返回可读或可写文件。相反,这并不意味着返回的文件将是不可写或不可读的。获取二进制文件句柄集 encoding 转换为二进制。

  • encoding (str, optional) -- 要用于文件的编码方案。如果设置为‘BINARY’,则不会转换任何字节。否则,这将与 io.open()

  • errors (str, optional) -- 指定如何处理编码和解码错误。这在以下情况下不起作用 encoding 是二进制的(因为不能有错误)。否则,这将与 io.open()

  • newline ({None, "", '\n', '\r\n', '\r'}, optional) -- 匹配的行为与 io.open()

  • compression ({'auto', 'gzip', 'bz2', None}, optional) -- 将压缩或解压缩 file 取决于 mode 。如果为‘AUTO’,则将尝试确定文件的压缩,结果将被透明地解压缩。“AUTO”在写入时不会执行任何操作。其他合法的值将使用它们各自的压缩方案。 compression 不能与文本源一起使用。

  • compresslevel (int (0-9 inclusive), optional) -- 要使用的压缩级别将传递给适当的压缩处理程序。这只在写作时使用。

返回:

filehandle --何时 encoding='binary' 一个 io.BufferedReaderio.BufferedWriter 将根据以下条件返回 mode 。否则,将执行 io.TextIOBase 将会被退还。。。注::创建所需的任何基础资源 filehandle 都是透明管理的。如果 file 是可关闭的垃圾收集 filehandle 不会关闭 file 。叫唤 close 在……上面 filehandle 将关闭 file 。相反地,调用 close 在……上面 file 将会导致 filehandle 以反映关闭状态。 This does not mean that a `flush` has occured for `filehandle`, there may still have been data in its buffer! Additionally, resources may not have been cleaned up properly, so ALWAYS call `close` on `filehandle` and NOT on `file`.

返回类型:

io.TextIOBase or io.BufferedReader/Writer