在python中读取Freebase数据转储,读取几行?

我正在尝试使用freebase数据转储,但它接触到我在使用python读取文件时遇到了一些问题.看起来我的程序无法读取所有行.

def test2():
    count=0
    for line in open(FREEBASE_TOPIC):
        count+=1
    return count

def test3():
    count=0
    for line in open(FREEBASE_QUAD):
        count+=1
    return count


if __name__ == "__main__":

   print "FREEBASE TOPIC - NR LINES:",test2()
   print "FREEBASE QUAD - NR LINES:",test3()

结果如下:

FREEBASE TOPIC - ITR TIME: 1.21000003815
FREEBASE TOPIC - NR LINES: 1643010

FREEBASE QUAD - ITER TIME: 0.797000169754
FREEBASE QUAD - NR LINES: 3155131

这可以是全部.它看起来很少包含整个freebase.我无法看到如何在2秒内迭代一个33GB文件和另一个5GB文件.

怎么了?我正在下载文件,以防下载过程中出现问题,但我的连接需要几十年的时间,所以我在平均时间问.文件大小是正确的,我打印了一些线条,看起来是正确的.

解决方法:

我遇到了一个问题:

open('file', 'rb')

应该解决它.

chr(26)

有时会导致文件模式’r’的文件结尾是默认的.

上一篇:java中从末行逐行向上读取文件


下一篇:Linux上的Python cmd不会自动完成特殊字符或符号