class io.RawIOBase
该类是原始的二进制I/O,它继承自IOBase,没有公共的构造器。
Row binary I/O通常提供对底层操作系统设备或者API的低级访问。并且不会尝试将其封装在高级源语中。(这是留给带缓冲区的I/O和文本I/O的,在本页的后面会描述)
除了从IOBase继承的属性和方法外,它自身还有以下属性和方法:
read(size=-1)
从对象中读取至多size个字节,并将读取的字节返回。为了方便,如果size没有指定或者值为-1,那么readall()就
会被调用,也就是读取全部内容。否则,只有一个系统调用,如果操作系统调用返回少于size大小的字节,那么返回的字节
数可能比size小。
如果返回了0字节,并且给定的参数size不是0,这暗示着到了文件结尾处,如果对象处于非阻塞模式,并且没有可用
字节,那么返回的是None。
readall()
读取并返回流中的所有字节,直到遇到EOF,如果需要可以使用该流的多个调用。
readinto(b)
将字节读取预先分配大小的,可以写的类字节对象b中,并且返回读取的字节数。如果该对象处于非阻塞模式,并且没有
可用字节,那么返回的是None。
write(b)
将给定的类字节对象b写入底层原始流,并且返回写入的字节数。返回的字节数,可以小于b的字节长度,取决于具体的底层
原始流,特别是如果它处于非阻塞模式时。如果原始流被设置为非阻塞,并且没有单个字节可以读写,则返回None。该方法调用
后,调用者可能会释放或者改变b,因此在调用该方法期间,实现部分只能访问b。