Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. import re
  2.  
  3. NUM_REGEXP = "[0-9]+\.?[0-9]*"
  4.  
  5.  
  6. def parse_data(input_file):
  7. with open(input_file, 'r') as fb:
  8. num = parse_single_number(fb)
  9. matrix = parse_matrix(fb, cast=float)
  10. fb.readline()
  11. loc_min = parse_vector(fb)
  12. fb.readline()
  13. loc_max = parse_vector(fb)
  14. fb.readline()
  15. loc_duration = parse_vector(fb)
  16.  
  17. return (num, matrix, loc_min, loc_max, loc_duration)
  18.  
  19.  
  20. def parse_single_number(fb, cast=int):
  21. return parse_vector(fb, cast)[0]
  22.  
  23.  
  24. def parse_vector(fb, cast=int):
  25. v = re.findall(NUM_REGEXP, fb.readline())
  26. return list(map(cast, v))
  27.  
  28.  
  29. def parse_matrix(fb, cast=int):
  30. matrix = []
  31. v = []
  32. while len(v) == 0:
  33. v = parse_vector(fb, cast)
  34.  
  35. while len(v) != 0:
  36. matrix.append(v)
  37. v = parse_vector(fb, cast)
  38. return matrix
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement