To read tokens from a file one by one; you could use re
module to generate tokens from a memory-mapped file:
#!/usr/bin/env python3
import re
import sys
from mmap import ACCESS_READ, mmap
def generate_tokens(filename, pattern):
with open(filename) as f, mmap(f.fileno(), 0, access=ACCESS_READ) as mm:
yield from re.finditer(pattern, mm)
# sum all integers in a file specified at the command-line
print(sum(int(m.group()) for m in generate_tokens(sys.argv[1], br'\d+')))
It works even if the file doesn’t fit in memory.