文件打开器¶
- class torchdata.datapipes.iter.FileOpener(datapipe: Iterable[str], mode: str = 'r', encoding: Optional[str] = None, length: int = - 1)¶
给定路径名,打开文件并在元组中生成路径名和文件流(函数名:
open_files
)。- 参数:
datapipe – 提供路径名的可迭代式数据管道
mode – 一个可选字符串,指定通过
open()
打开文件的模式。它默认为r
,其他选项包括b
(以二进制模式读取)和t
(以文本模式读取)。encoding – 一个可选字符串,指定底层文件的编码。它默认为
None
,以匹配open
的默认编码。length – 数据管道的名义长度
注意
打开的文件句柄将由 Python 的 GC 定期关闭。用户可以选择显式关闭它们。
示例
>>> # xdoctest: +SKIP >>> from torchdata.datapipes.iter import FileLister, FileOpener, StreamReader >>> dp = FileLister(root=".").filter(lambda fname: fname.endswith('.txt')) >>> dp = FileOpener(dp) >>> dp = StreamReader(dp) >>> list(dp) [('./abc.txt', 'abc')]