最赞回答 / qq_夜_42
f.close()前写入的9798行才是缓存的大小,当写入的数据量大于等于写缓存的时候,写缓存才会同步到磁盘,同时清空写缓存,剩下的那部分达不到缓存的大小,就只能被存储在缓存中,只有调用close或fulsh方法才能写到磁盘中。
2016-05-12
最赞回答 / wulongtao
如果你仅仅是读:r+就可以读取到原文件内容(使用read);a+是追加模式,读的时候是将指针已经放在文件末尾了,所以读取到的文件是空的。如果你仅仅是写:r+是从头开始写的,你写了多少就会覆盖原文件多少;a+因为指针已经放在文件末尾了,所以你写额时候自然就是追加在后面的。如果你是先读在写:这样就有点麻烦了。r+当你使用read读完之后再使用write写的时候,指针已经在文件末尾了,所以你再写的时候就感觉是追加在末尾似的。a+因为你先读的时候指针已经在末尾了你自然就读不到任何内容。至于你说的w和w+我的理解这...
2016-01-12
最赞回答 / meShare
1:readlines的参数是字节数,不是行数2:不加参数,默认把文件读完,3:参数小于io.DEFAULT_BUFFER_SIZE,他读出字节数接近于io.DEFAULT_BUFFER_SIZE(8K的一个值)4:如果输入的值大于io.DEFAULT_BUFFER_SIZE,读出字节数,接近于io.DEFAULT_BUFFER_SIZE的倍数的字节数,
2015-06-22