读取文件末尾的数字

时间:2017-10-18 20:56:47

标签: python file text

我有一系列文本文件。 它们都以浮动结束,没有前面的空格 ...foo123.456。浮点数具有无限的数字。

文件很大所以我想避免在内存中完全读取它们。 它们也有不同的尺寸。

如何避免读取整个文件?

1 个答案:

答案 0 :(得分:2)

只需读取最后几个字节并使用正则表达式来提取浮点数。

未测试:

import re

with open('/path/to/file.txt') as input_file:
    input_file.seek(-100, 2)
    last_100_bytes = input_file.read()
    match = re.search(r'\D(\d+\.\d+)$', last_100_bytes)
    if match:
        print('The float is {}'.format(match.group(0)))
    else:
        print('no float found at the end of the file')