Python 读取文件方法内存?
Python read file methods memory?
我通常用下面的代码阅读文件
r = open('test.txt', mode='rt')
for line in r:
print(line)
如果test.txt足够大并且连续追加怎么办
那么它读取到的上面的代码是不是到达了test.txt的结尾呢?
或者它只是在开始读取时到达 test.txt 的末尾时停止?
文件迭代器使用恒定大小的缓冲区来限制 I/O 调用的次数。只有当迭代器到达当前缓冲区的末尾时,才会从磁盘读取数据,此时另一个大块被读入内存。
实际上是操作系统问题,您可以阅读:https://unix.stackexchange.com/a/41719
这取决于操作系统如何运行读写程序。如果编写器处理得足够快,那么它可能会继续阅读。但是,如果读取过程比它快,它将读取文件末尾并关闭它。
因此由于日程安排无法预测。
我通常用下面的代码阅读文件
r = open('test.txt', mode='rt')
for line in r:
print(line)
如果test.txt足够大并且连续追加怎么办 那么它读取到的上面的代码是不是到达了test.txt的结尾呢? 或者它只是在开始读取时到达 test.txt 的末尾时停止?
文件迭代器使用恒定大小的缓冲区来限制 I/O 调用的次数。只有当迭代器到达当前缓冲区的末尾时,才会从磁盘读取数据,此时另一个大块被读入内存。
实际上是操作系统问题,您可以阅读:https://unix.stackexchange.com/a/41719
这取决于操作系统如何运行读写程序。如果编写器处理得足够快,那么它可能会继续阅读。但是,如果读取过程比它快,它将读取文件末尾并关闭它。
因此由于日程安排无法预测。