我正在尝试使用 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 的文件。
怎么了?我正在再次下载文件,以防下载过程中出现问题,但我的连接需要几十年的时间,所以我同时询问 ere。文件大小正确,我打印了一些行,它们看起来正确。
最佳答案
我遇到了一个问题:
open('file', 'rb')
应该可以解决。
chr(26)
有时会导致文件以默认文本模式“r”结尾。
关于python - 在 python 中读取 Freebase 数据转储,读取几行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887001/