exponenta event banner

существовать

Проверка существования переменной, сценария, функции, папки или класса

Описание

пример

exist name возвращает тип name как число. В этом списке описывается тип, связанный с каждым значением:

  • 0 — name не существует или не может быть найден по другим причинам. Например, если name существует в ограниченной папке, к которой MATLAB ® не имеет доступа ,exist возвращает 0.

  • 1 — name является переменной в рабочей области.

  • 2 — name является файлом с расширением .m, .mlx, или .mlapp, или name - имя файла с незарегистрированным расширением файла (.mat, .fig, .txt).

  • 3 — name является MEX-файлом в пути поиска MATLAB.

  • 4 — name является загруженной моделью Simulink ® или моделью Simulink или файлом библиотеки в пути поиска MATLAB.

  • 5 — name является встроенной функцией MATLAB. Это не включает классы.

  • 6 — name является файлом P-кода в пути поиска MATLAB.

  • 7 — name является папкой.

  • 8 — name является классом. (exist возвращает 0 для классов Java при запуске MATLAB с помощью -nojvm вариант.)

Поиск MATLAB начинается в верхней части пути поиска и перемещается вниз до тех пор, пока не будет найден результат или не будет достигнута последняя папка на пути. Если несколько name существует в папке, MATLAB отображает первый экземпляр name, в соответствии с порядком приоритета функции. Папки являются исключением из правил приоритета функций. Они имеют приоритет над всеми типами, за исключением переменных и встроенных функций.

Например, если name сопоставляет оба файла с .m расширение и файл P-кода, затем exist возвращает 6, идентифицируя его как файл P-кода. Если name соответствует и переменной, и файлу P-кода, exists возвращает 1, идентифицируя его как переменную. Если name соответствует как папке, так и функции MATLAB, exist прибыль 7, идентифицируя его как папку.

пример

exist name searchType возвращает тип name, ограничение результатов указанным типом, searchType. Если name типа searchType не существует, MATLAB возвращает 0.

пример

A = exist(___) возвращает тип name кому A.

Примеры

свернуть все

Создание переменной с именем testresults, а затем подтвердить его существование в рабочей области.

testresults = magic(5);
exist testresults
ans = 1

Переменная с именем testresults существует в рабочей области.

Создать папку myfolder, а затем проверьте его существование как папки.

mkdir myfolder;
exist myfolder dir
ans = 7

Если указать тип как fileMATLAB ® выполняет поиск файлов и папок, возвращая один и тот же результат.

exist myfolder file
ans = 7

Проверьте, plot функция является встроенной функцией или файлом.

A = exist('plot')
A = 5

Это означает, что plot является встроенной функцией MATLAB.

Входные аргументы

свернуть все

Имя переменной, сценария, функции, папки или класса, указанное как вектор символа или скаляр строки.

name может включать частичный путь, но должен быть одним из следующих:

  • Папка в пути поиска

  • В папке на пути поиска

  • Текущая папка

  • В текущей папке

Поиск вложенных папок по пути не выполняется.

В противном случае name должен содержать полный путь.

Если name указывает файл с незарегистрированным расширением файла (.mat, .fig, .txt), включите внутренний номер. Можно также включить расширение, чтобы предотвратить конфликт с другими аналогичными именами файлов. Например, exist file.txt или exist("file.txt").

Примечание

MATLAB не проверяет содержимое или внутреннюю структуру файла и полагается только на расширение файла для классификации.

Типы данных: char | string

Тип результатов для поиска, указанный как одно из следующих значений:

searchTypeОписаниеВозможные возвращаемые значения

builtin

Проверяет только встроенные функции.

5, 0

class

Проверяет только классы.

8, 0

dir

Проверяет только папки.

7, 0

file

Проверяет только файлы или папки.

2, 3, 4, 6, 7, 0

var

Проверяет только переменные.

1, 0

Альтернативная функциональность

  • Чтобы проверить существование файла или папки, можно также использовать isfolder или isfile функции. exist поиск файлов и папок по пути поиска, что может привести к неожиданным результатам. isfolder и isfile поиск файлов или папок только по указанному пути или в текущей папке, что может привести к более четким и быстрым результатам.

Представлен до R2006a