在 Python 中,我可以使用f= open(<filename>,<permissions>)
. 这将返回一个对象f
,我可以使用f.write(<some data>)
.
如果此时我访问原始最终文件(例如cat
从终端访问),它会显示为空:Python 存储了我写入对象的数据,f
而不是实际的磁盘文件。如果我然后调用f.close()
,则其中的数据f
将持久保存到磁盘文件中(并且我可以从其他程序访问它)。
我假设数据被缓冲以改善延迟。但是,如果缓冲的数据增长很多,会发生什么?Python会发起写操作吗?如果是这样,内部细节(什么影响缓冲区大小?磁盘 I/O 是在 Python 中处理还是由另一个程序/线程处理?Python 是否有可能在写入期间挂起?)将不胜感激。