是否有文件对象的文档?

时间:2018-04-17 21:42:14

标签: python python-3.x

这可能是一个非常愚蠢的问题,但老实说,我无法在Python 3中找到文件对象API的文档。

使用或返回opensys.stdin等文件对象的Python文档可以通过高级别的介绍链接到词汇表。它没有列出这些对象暴露的函数,我不知道,我能用它做什么。我已经尝试使用谷歌搜索文件对象文档,但搜索引擎似乎不明白,我在寻找什么。

我是Python的新手,但不是一般的编程。到目前为止,我使用对象的方案是找到完整的API引用,查看它可以做什么,然后选择要在我的代码中使用的方法。在Python世界中这是错误的心态吗?有哪些替代方案?

1 个答案:

答案 0 :(得分:8)

open会返回file object,具体取决于模式。来自open文档:

  

open()函数返回的文件对象的类型取决于模式。当open()用于以文本模式打开文件('w','r','wt','rt'等)时,它返回io.TextIOBase的子类(特别是io.TextIOWrapper)。当用于以二进制模式打开具有缓冲的文件时,返回的类是io.BufferedIOBase的子类。确切的类别有所不同:在读取二进制模式下,它返回一个io.BufferedReader;在写二进制和附加二进制模式时,它返回一个io.BufferedWriter,在读/写模式下,它返回一个io.BufferedRandom。禁用缓冲时,将返回原始流,即io.RawIOBase的子类,io.FileIO。

由于它有所不同,请使用您需要帮助的模式打开文件对象并向其寻求帮助:

>>> f = open('xx','w')
>>> help(f)

Help on TextIOWrapper object:

class TextIOWrapper(_TextIOBase)
 |  Character and line based layer over a BufferedIOBase object, buffer.
 |
 : etc...