Другие функции для работы с файлами
Другие функции для работы с файлами
В целом средства системы Mathematica обеспечивают возможности работы с различными файлами, присущие MS-DOS, без выхода из среды системы. Относящиеся к этой группе функции даны в приложении. Для этих функций характерно, что в момент выполнения они не дают видимого эффекта. К таким функциям относятся функции копирования директорий и файлов, смены их имен, удаления и т. д. Они хорошо известны пользователям MS-DOS и могут выполняться из среды Mathematica.
Рассматривая обширный список файловых и поточных операций, можно поневоле сделать вывод об их избыточности. Но здесь действует простое правило: не хочешь применять эти функции — не применяй! Они рассчитаны на пользователя, всерьез занимающегося стыковкой систем Mathematica с другими программными системами.
Важное место занимают функции, дающие информацию о директориях, файлах и потоках. К ним относятся следующие функции:
-
Directory [ ] — возвращает текущий рабочий каталог;
-
DirectoryStack [ ] — возвращает содержимое стека каталогов, которое представляет последовательность используемых в текущем сеансе каталогов;
-
$Display— возвращает список файлов и каналов (pipes— канал или абстрактный файл), используемый функцией вывода $DisplayFunction по умолчанию;
-
FileByteCount ["filename"] — возвращает количество байтов в файле;
-
FileDate ["filename"] — возвращает дату и время последней модификации файла в виде списка;
-
Filelnformation ["filename"] — возвращает информацию о файле;
-
FileNames [ ] — приводит список всех файлов в текущем рабочем каталоге;
-
FileNames [" form" ] — перечисляет все файлы в текущем рабочем каталоге, чьи имена совпадают с шаблоном form;
-
FileNames [{ "forml", "form2",...} ] — перечисляет все файлы, чьи имена соответствуют любому из шаблонов formi;
-
FileNames [forms, {"dirl", "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
FileDatef'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[]
С: \m3 Streams[]
{OutputStream[stdout, 1],
OutputStream[stderr, 2]}
Высказанное выше соображение об избыточности набора операций вполне применимо и для этих функций.
Содержание раздела