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 содержит путь файла.

Примеры

Пример 1

Создайте новый файл во временной папке системы. Имя временной папки варьируется для других платформ. 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:

Пример 2

Можно явным образом задать папку и имена файлов. Следующий пример только работает над системами как 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

Пример 3

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

Пример 4

Чтобы задать кодирование, чтобы считать данные, используйте 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������"

Параметры

filename

Имя файла: символьная строка

n

Дескриптор файла обеспечивается fopen: положительное целое число

Опции

Plain

Делает read используйте его собственный контекст синтаксического анализатора

Quiet

Подавляет выход во время выполнения read

Encoding

Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:

"Big5"

"ISO-8859-1"

"windows-932"

"EUC-JP"

"ISO-8859-2"

"windows-936"

"GBK"

"ISO-8859-3"

"windows-949"

"KSC_5601"

"ISO-8859-4"

"windows-950"

"Macintosh"

"ISO-8859-9"

"windows-1250"

"Shift_JIS"

"ISO-8859-13"

"windows-1251"

"US-ASCII"

"ISO-8859-15"

"windows-1252"

"UTF-8"

 

"windows-1253"

  

"windows-1254"

  

"windows-1257"

Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования.

Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам.

Возвращаемые значения

Возвращаемое значение последнего оператора файла.