Невозможно открыть файлы .h5 во время выполнения программы C.Python

Программы на Python
Ответить
Anonymous
 Невозможно открыть файлы .h5 во время выполнения программы C.

Сообщение Anonymous »

Я пишу моделирование на C и хочу во время выполнения выводить данные в файлы .h5, используя библиотеку HDF5. Для вывода файлов используется следующий код:

Код: Выделить всё

void output_data(int t, int n_output) {
char filename[32];
sprintf(filename, "data_%d.h5", n_output);
hid_t hdf5_fp = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);

hid_t group_id = H5Gcreate2(hdf5_fp, "/data", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);

hsize_t dim_1d[1] = {1};
hid_t dataspace_id_1d = H5Screate_simple(1, dim_1d, NULL);
hsize_t dims[2] = {NX, NY};
hid_t dataspace_id = H5Screate_simple(2, dims, NULL);

hid_t dataset_id;
dataset_id = H5Dcreate2(group_id, "time", H5T_NATIVE_INT32, dataspace_id_1d, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Dwrite(dataset_id, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, &t);

// Output of other data

H5Sclose(dataspace_id_1d);
H5Sclose(dataspace_id);
H5Dclose(dataset_id);
H5Gclose(group_id);
H5Fclose(hdf5_fp);
}
Я статически связываюсь с библиотекой hdf5, используя:

Код: Выделить всё

gcc main.c -o main -std=c17 -O3 -Wall -Wextra -I/usr/local/hdf5/include -L/usr/local/hdf5/lib -l:libhdf5.a -lm -lz
И я также мог бы связать его с общей библиотекой, используя:

Код: Выделить всё

gcc main.c -o main -std=c17 -O3 -Wall -Wextra -I/usr/local/hdf5/include -L/usr/local/hdf5/lib -Wl,-rpath /usr/local/hdf5/lib -l:libhdf5.so -lm -lz
Если я хочу прочитать файлы .h5 во время выполнения с помощью библиотеки h5py в Python, я получаю следующую ошибку:

Код: Выделить всё

BlockingIOError: [Errno 11] Unable to synchronously open file (unable to lock file, errno = 11, error message = 'Resource temporarily unavailable')
И если я прерву моделирование во время выполнения, при чтении файлов .h5 я получу следующую ошибку:

Код: Выделить всё

OSError: Unable to synchronously open file (bad object header version number)
Насколько мне известно, я правильно закрываю файлы .h5 в коде C. Что может быть причиной этих проблем?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -c-program
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»