Я относительно новичок в питоне. В рамках работы над моим астрономическим проектом мне приходится иметь дело с бинарными файлами (что, конечно, опять же для меня в новинку). Мне дали бинарный файл и код Python, который считывает данные из бинарного файла. Затем мой профессор попросил меня понять, как код работает с двоичным файлом. Пару дней пытался разобраться, но ничего не помогло. Может ли кто-нибудь здесь помочь мне с кодом?
# Read the binary opacity file
f = open(file, "r")
# read file dimension sizes
a = np.fromfile(f, dtype=np.int32, count=16)
NX, NY, NZ = a[1], a[4], a[7]
# read the time and time step
time, time_step = np.fromfile(f, dtype=np.float64, count=2)
# number of iterations
nite = np.fromfile(f, dtype=np.int32, count=1)
# radius array
trash = np.fromfile(f, dtype=np.float64, count=1)
rad = np.fromfile(f, dtype=np.float64, count=a[1])
# phi array
trash = np.fromfile(f, dtype=np.float64, count=1)
phi = np.fromfile(f, dtype=np.float64, count=a[4])
# close the file
f.close()
Бинарный файл, насколько мне известно, содержит несколько параметров (например: радиус, фи, скорость звука, энергия излучения) и множество его значений. Приведенный выше код извлекает значения 2 параметров — радиуса и фи из двоичного файла. И радиус, и фи имеют более 100 значений. Программа работает, но я не могу понять, как она работает. Любая помощь будет оценена по достоинству.
np.fromfile()
, просмотрели ли вы его документация? - person Asmus   schedule 19.05.2019