Да, сохранение в файл - это самый простой способ сохранить результаты из вашей первой программы для последующего использования во втором (если вы выйдете из IDL между ними). Возможны способы сохранения данных, в зависимости от их типа и ваших предпочтений.
Самый простой способ:
IDL .sav файл, созданный с помощью команды SAVE
может хранить любые данные, переменные IDL, и даже в целом состояние вашего IDL сессии. К сожалению, он работает только для IDL (никаких других языков), и его можно будет сгенерировать, если вы обновите версию IDL. Вы читаете эти файлы с помощью RESTORE
, который даже запоминает имена переменных.
my_variable = 'Some data here.'
SAVE, my_variable, FILENAME='myfile.sav' ; save variable(s)
... IDL opened and closed here ...
RESTORE, 'myfile.sav' ; read variable(s) from file
print, my_variable
Some data here.
Самый портативный способ:
Для простых табличных данных, CSV имеет преимущество в том, очень портативным и читаемым человеком. Однако он также медленный, поскольку числа хранятся в ASCII. Используйте WRITE_CSV
, чтобы написать, и READ_CSV
для чтения.
Большинство портативных двоичных форматов:
Для сложных данных, которые должны быть считаны на нескольких языках, считают HDF5 или NetCDF библиотеки. Оба они представляют собой двоичные форматы, которые могут хранить большинство типов данных, поддерживаемых IDL. Обратите внимание, что NetCDF на самом деле является простым в использовании подмножеством HDF5.
Простейшее Binary Format:
Еще один вариант для табличных данных представляет собой простой двоичный дамп. Используйте WRITEU
для записи в обычный файл, открытый для записи. Используйте READU
для чтения из обычного файла, открытого для чтения.