Другие функции для работы с файлами
В целом средства
системы 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]}Высказанное выше соображение об избыточности набора операций вполне применимо и для этих функций. Для управления системой в процессе вычислений служат системные директивы и функции. Некоторые из них широко используются при программировании решения прикладных задач, другие служат в основном для контроля над системой. Имена многих, вспомогательных с точки зрения конечного пользователя, системных функций начинаются с символа $. Ниже описаны основные системные функции. Ряд системных функций служит для получения информации о времени и текущей дате:
- AbsoluteTime[ ] — возвращает полное количество секунд, прошедших с момента 1 января 1900 г.;
- $CreationDate — возвращает дату и время создания используемой версии системного ядра Mathematical
- Date [ ] — возвращает текущее значение даты и времени в виде {год, месяц, день, час, минута, секунда};
- FromDate [date] — превращает дату date вида {год, месяц, день, час, минута, секунда} в число секунд, прошедших с 1 января 1900 г.;
- TimeUsedt ] — возвращает полное количество секунд процессорного времени, использованного на данный момент в текущем сеансе Mathematical
- $TimeUnit — возвращает минимальный временной интервал в секундах, который можно зарегистрировать в вашей компьютерной системе;
- TimeZone [ ] — возвращает часовой пояс, установленный для вашей компьютерной системы;
- Timing [ехрг] — вычисляет ехрг и возвращает список, состоящий из значения затраченного времени и результата вычислений;
- ToDate [time] — преобразует абсолютное время в секундах, прошедшее с 1 января 1900 г., в дату вида {год, месяц, день, час, минута, секунда}.
Ввод (In) |
Вывод (Out) |
AbsoluteTime [ ] |
2967708137 |
Date[] |
{2000, 7, 16,11, 23, 8} |
FromDate [ {2000 ,7,15,4,51,30}] |
3172625490 |
SessionTime[] |
8171.1 |
TimeUsedf] |
69.57 |
|