exist

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

Описание

пример

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 - это Pcode-файл на вашем пути поиска файлов MATLAB.

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

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

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

Для примера, если name соответствует обоим файлам с .m расширение и Pcode-файл, затем exist возвращает 6, идентифицируя его как Pcode-файл. Если name соответствует и переменной, и Pcode-файлу, существует возвращает 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