Иллюстрированный самоучитель по Mathematica 3/4

Другие функции для работы с файлами

В целом средства системы Mathematica обеспечивают возможности работы с различными файлами, присущие MS-DOS, без выхода из среды системы. Относящиеся к этой группе функции даны в приложении. Для этих функций характерно, что в момент выполнения они не дают видимого эффекта. К таким функциям относятся функции копирования директорий и файлов, смены их имен, удаления и т. д. Они хорошо известны пользователям MS-DOS и могут выполняться из среды Mathematica.

Рассматривая обширный список файловых и поточных операций, можно поневоле сделать вывод об их избыточности. Но здесь действует простое правило: не хочешь применять эти функции – не применяй! Они рассчитаны на пользователя, всерьез занимающегося стыковкой систем Mathematica с другими программными системами.

Важное место занимают функции, дающие информацию о директориях, файлах и потоках. К ним относятся следующие функции:

  • Directory [ ] – возвращает текущий рабочий каталог;
  • DirectoryStack [ ] – возвращает содержимое стека каталогов, которое представляет последовательность используемых в текущем сеансе каталогов;
  • $Display – возвращает список файлов и каналов (pipes– канал или абстрактный файл), используемый функцией вывода $DisplayFunction по умолчанию;
  • FileByteCount ["filename"] – возвращает количество байтов в файле;
  • FileDate ["filename"] – возвращает дату и время последней модификации файла в виде списка;
  • Filelnformation ["filename"] – возвращает информацию о файле;
  • FileNames [ ] – приводит список всех файлов в текущем рабочем каталоге;
  • FileNames [" form" ] – перечисляет все файлы в текущем рабочем каталоге, чьи имена совпадают с шаблоном form;
  • FileNames [{ "form1", "form2",…} ] – перечисляет все файлы, чьи имена соответствуют любому из шаблонов formi;
  • FileNames [forms, {"dir1", "dir2",…} ] – перечисляет файлы с именами, соответствующими шаблонам forms, в любом из указанных каталогов diri;
  • FileType ["filename"] – возвращает тип файла: File, Directory или None (если указанного файла не существует);
  • $HomeDirectory – дает имя "домашней" директории пользователя;
  • $Output – дает список файлов и каналов, в которые направляется стандартный вывод системы Mathematica;
  • ParentDirectory [ ] – возвращает имя родительского каталога для текущего рабочего каталога;
  • ParentDirectory ["dir"] – возвращает имя родительского каталога для каталога dir;
  • $ Path – дает список каталогов для просмотра при попытке поиска внешнего файла;
  • StreamPosition [stream] – возвращает целое число, которое указывает позицию текущей точки в открытом потоке stream;
  • Streams [ ] – возвращает список всех потоков, открытых в данный момент;
  • Streams ["name" ] – перечисляет только потоки с указанным именем name.

Приведенные ниже примеры иллюстрируют использование большинства из этих достаточно простых функций:

Directory[]
C:\PROGRAM FILES\WOLFRAM RESEARCH\MATHEMATICA\4.0
DirectoryStack[]
{} / $Display
stdout
  
FileByteCount["C:.val"]
46
  
FileDate["C:.val"]
{1999, 8, 3, 16, 4, 44}
  
FileInformation["C:.val"]
{File > C:\ma.val, FileType > File, Date > 3142685084, ByteCount > 46}
  
Filenames[]
{Examples, FILES, MATHEMATICA.EXE,
MATH.EXE, MATHINSTALLER.EXE, MATHKERNEL.EXE}
  
FileType["C:.val"]
  
File HomeDirectory[]
c:\ $0utput
{OutputStream[stdout, 1]}
  
ParentDirectory[]
C:\m3 Streams[]
  
{OutputStream[stdout, 1],
OutputStream[stderr, 2]}

Высказанное выше соображение об избыточности набора операций вполне применимо и для этих функций.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.