今天碰到几个学长在做数据仓库,需要把一个8GB的txt文件读出来处理,文件有7000多万行。
他们用C++写,然后碰到了问题:文件打开后while(!f.eof()){...}只读取了10万多行就停了。
于是我写了个python脚本,f=open('xxx.txt', 'r')发现同样只能读10万多行。
然后google了一下,看到StackOverflow上有人说用二进制打开,于是尝试了f=open('xxx.txt', 'rb')结果全读出来了…然后让他们用C++试试二进制打开于是也成功了。
请问其中的原理是什么?
本人当时用的是windows,话说unix下会不会有同样的情况出现?