read
Поиск, читайте и выполните файл
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
read(filename | n
, <Quiet>, <Plain>, <Encoding = "encodingValue"
>)
read(filename)
поиски файла в различных папках:
Во-первых, filename
конкатенирован к каждой папке, данной переменной окружения READPATH
.
Затем имя файла интерпретировано как абсолютный путь.
Затем имя файла интерпретировано как относительный путь, т.е. относительно “рабочей папки”.
Наконец, имя файла конкатенировано к пути к библиотеке.
Если файл может быть открыт с одним из этих имен, то файл читается и выполняется с fread
.
read(filename, Encoding = "encodingValue")
использует заданное кодирование в текстовых файлах. Для поддерживаемой кодировки см. Опции.
Если файл находится в gzip
- сжатый формат и его имя заканчиваются в “.gz
”, это будет прозрачно несжатым после чтения.
Обратите внимание на то, что значение “рабочей папки” зависит от операционной системы. В системах Microsoft® Windows® и в системах Mac OS X, “рабочая папка” является папкой, где MATLAB® установлен. В системах UNIX® это - текущая рабочая папка, в которой был запущен MATLAB. Когда запущено с меню или настольного элемента, это обычно - домашняя папка пользователя.
Диафрагма пути (“/
”), вставляется по мере необходимости при конкатенации данного пути и filename
.
read(n)
с дескриптором файла n
как возвращено fopen
эквивалентно вызову fread(n)
. Когда названо описанием файла, read
автоматически не открывает и закрывает файл. Используйте fopen
и fclose
открыть и закрыть файл. Encoding
опция не работает с этим синтаксисом.
Когда вы используете read
команда, чтобы считать файл, команда оценивает все операторы в том файле с максимальной глубиной замены, заданной LEVEL
. Значение по умолчанию LEVEL
поскольку интерактивные расчеты равняются 100. Смотрите Пример 3.
Смотрите функциональный fread
для получения дополнительной информации о чтении и выполнении содержимого файла и для подробного описания опций Plain
и Quiet
.
Когда файл читается с read
, переменная FILEPATH
содержит путь файла.
Создайте новый файл во временной папке системы. Имя временной папки варьируется для других платформ. fopen
команда с TempFile
опция создает файл во временной папке любой системы (если такая папка существует):
a := 3: b := 5: fid := fopen(TempFile, Write, Text):
Используйте write
команда, чтобы сохранить значения a
и b
во временном файле:
write(fid, a, b):
Используйте fname
чтобы возвратить имя временного файла, вы создали:
file := fname(fid):
После чтения файла, значений a
и b
восстанавливаются:
delete a, b: read(file): a, b
В качестве альтернативы используйте fopen
открыть файл и считать его содержимое:
delete a, b: n := fopen(file): read(n): fclose(n): a, b
delete a, b, READPATH, n:
Можно явным образом задать папку и имена файлов. Следующий пример только работает над системами как UNIX. Чтобы заставить его работать над другими операционными системами, измените пути соответственно. Во-первых, используйте write
сохранить значения в файле “testfile.mb
” в “/tmp
” папка:
a := 3: b := 5: write("/tmp/testfile.mb", a, b):
Теперь задайте “/tmp
” как поисковая папка и обеспечивают путь относительно него. Обратите внимание на то, что диафрагма пути “/
” вставляется read
:
delete a, b: READPATH := "/tmp": read("testfile.mb"): a, b
read
команда оценивает все операторы в файле, который она читает с максимальной глубиной замены, заданной LEVEL
. Например, создайте и считайте файл, который задает значение переменной a
при помощи другой переменной b
. Используйте fopen
команда с TempFile
опция, чтобы создать новый файл во временной папке системы:
fid := fopen(TempFile, Write, Text):
Запишите следующие операторы в файл:
fprint(Unquoted, fid, "a := b^2: b := 5: c := a/3: delete a, b:"):
Используйте fname
чтобы возвратить имя временного файла, вы создали. Используйте fclose
закрыть файл:
file := fname(fid): fclose(fid)
Считайте файл. read
команда оценивает операторы в файле рекурсивно:
read(file): c
Чтобы подавить рекурсивные оценки, измените максимальную глубину замены в 1:
delete c: LEVEL := 1: read(file): c
Восстановите значение по умолчанию LEVEL
для дальнейших расчетов:
delete LEVEL
Чтобы задать кодирование, чтобы считать данные, используйте Encoding
. Encoding
опция применяется только к текстовым файлам, которые открыты с помощью имени файла и не дескриптора файла. Откройте файл и запишите оператор "str = abcäöü"
в кодировании "UTF-8"
:
fprint(Unquoted, Text, Encoding="UTF-8", "read_test", "str := \"abcäöü\"")
Задайте кодирование, чтобы считать файл. read
возвращает правильный выходной параметр:
read("read_test",Encoding="UTF-8"):
"abcäöü"
Если вы не задаете кодирование, системное кодирование по умолчанию используется. Таким образом ваш выход может варьироваться от показанного затем. Символы, нераспознанные системным кодированием по умолчанию, заменяются символом замены по умолчанию для того кодирования:
read("read_test"):
"abc������"
|
Имя файла: символьная строка |
|
Дескриптор файла обеспечивается |
|
Делает | ||||||||||||||||||||||||||||||
|
Подавляет выход во время выполнения | ||||||||||||||||||||||||||||||
|
Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:
Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования. Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам. |
Возвращаемое значение последнего оператора файла.
FILEPATH
| READPATH
| WRITEPATH
| fclose
| finput
| fname
| fopen
| fprint
| fread
| ftextinput
| import::readbitmap
| import::readdata
| input
| pathname
| print
| protocol
| readbytes
| textinput
| write
| writebytes