Python的内置open
函数返回一个“文件状对象”。这些文件对象也可以通过其他方式获得,并且可能实际上并不表示文件。
我无法找到我想知道的关于这些的东西。
https://docs.python.org/3/glossary.html#term-file-object指出所有文件对象都有一个共同点:它们公开“面向文件的API”。但是我找不到有关此api的任何文档。
文件对象的write
方法似乎返回一个整数,但是它代表什么呢?返回值是否保证为整数?文件对象保证具有哪些方法和属性?
答案 0 :(得分:2)
人们不太可能使用 write
的返回值,以至于如果某个特定的类似文件的对象刚刚返回None
,我也不会感到惊讶。也就是说,有些东西类似于规格。
类似文件的对象的方法应提供的行为记录在io
module docs中的抽象基类下。尽管许多类似文件的对象将不是这些ABC的实例,并且许多类似文件的对象也不会提供最近的ABC中的所有方法,但是它们提供的方法应与ABC文档匹配。
对于类似二进制文件的对象,write
应该返回写入的字节数,如RawIOBase.write
所述。
对于类似文本文件的对象,write
应该返回写入的字符数,如TextIOBase.write
所述。