blob: 5770ec96ac1935317a32dd3188df5b8293ec59b4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import math
from typing import Any, Callable
def load_data_from_file (path: str, mask_noent = True) -> dict[str, float]:
try:
with open(path) as f:
return load_data(f.readline)
except FileNotFoundError as e:
if not mask_noent:
raise e
return dict[str, float]()
def load_data (read_f: Callable) -> dict[str, float]:
ret = dict[str, float]()
while True:
l = read_f()
if not l:
break
tpl = l.strip().split()
v = float(tpl[1])
if math.isfinite(v):
ret[tpl[0]] = v
return ret
|