使用python一次读取一个整数

who*_*one 5 python file-io python-2.7

如何从文件中读取int?我有一个大的(512MB)txt文件,其中包含整数数据:

0 0 0 10 5 0 0 140
0 20 6 0 9 5 0 0
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用c = file.read(1),我一次只能得到一个字符,但我一次需要一个整数.喜欢:

c = 0
c = 10
c = 5
c = 140 and so on...
Run Code Online (Sandbox Code Playgroud)

任何伟大的心脏,请帮助.提前致谢.

azh*_*rei 5

这是一种方式:

with open('in.txt', 'r') as f:
  for line in f:
    for s in line.split(' '):
      num = int(s)
      print num
Run Code Online (Sandbox Code Playgroud)

通过做for line in f你一点一点地阅读(既不使用read() all也不使用readlines).重要的是因为您的文件很大.

然后你在空格上分割每一行,并在你去的时候读取每个数字.

您可以执行比该简单示例更多的错误检查,如果文件包含损坏的数据,则会进行barf.

正如评论所说,这对你来说应该足够了 - 否则,如果你的文件可能有很长的行,你就可以做一些比一次阅读块更棘手的事情.