Comprobar la existencia de un archivo en MATLAB

Ammar Ali 20 junio 2023
  1. Comprobar la existencia de un archivo mediante la función exist() en MATLAB
  2. Comprobar la existencia de un archivo mediante la función dir() en MATLAB
Comprobar la existencia de un archivo en MATLAB

Este tutorial analizará la verificación de la existencia de un archivo en un directorio utilizando las funciones exist() y dir() en MATLAB.

Comprobar la existencia de un archivo mediante la función exist() en MATLAB

Podemos comprobar la existencia de un archivo en un directorio utilizando la función exist() de MATLAB. La función exist() tiene sus tipos de sintaxis.

La primera sintaxis de la función exist() se da a continuación.

exist file_name

En el código anterior, tenemos que pasar el nombre del archivo o carpeta en lugar del nombre_archivo. En el caso de una carpeta, definiremos el nombre de la carpeta; y en el caso de un archivo, tenemos que definir su extensión.

La función exist() devolverá 0 si el archivo no existe o MATLAB no tiene permiso para la carpeta específica. La función exist() buscará el archivo o la carpeta en el directorio actual utilizado por MATLAB y su directorio integrado de funciones y clases.

Por ejemplo, si hemos creado un archivo MATLAB .m en una carpeta específica, exist() solo buscará el archivo en esa carpeta y el directorio integrado de funciones y clases de MATLAB.

La función exist() devolverá 1 si el nombre del archivo es el nombre de una variable en el espacio de trabajo de MATLAB. Devolverá 2 si el nombre del archivo existe con extensión .mlx o .m.

La función devolverá 3 si el archivo es un archivo MEX en el directorio actual. La función devolverá 4 si el nombre del archivo es un archivo modelo de Simulink en el directorio actual.

Devolverá 5 si el nombre del archivo es una función integrada de MATLAB. La función devolverá 6 si el nombre del archivo es un archivo de código P en el directorio actual.

Devolverá 7 si el nombre del archivo es una carpeta. La función devolverá 8 si el nombre del archivo es el nombre de una clase en MATLAB.

Busca el archivo especificado en orden de precedencia y, si encuentra un archivo, devolverá el resultado y detendrá la búsqueda. Consulte este enlace para obtener más detalles sobre el orden de precedencia de funciones.

Ejemplo:

clc
clear

exist Videos

Producción :

ans =

     7

La función devolvió 7, lo que significa que el nombre de archivo especificado es una carpeta en el directorio actual.

La función exist() también tiene otras dos sintaxis que se indican a continuación.

exist file_name searchType
type = exist('file_name')

El tipo de búsqueda se usa como un argumento opcional para buscar un tipo de archivo específico en el código anterior. Es útil cuando solo queremos buscar un archivo en particular como una función integrada.

En la segunda sintaxis de la función exist(), podemos guardar el valor devuelto en una variable. Por ejemplo, verifiquemos un nombre de archivo en el directorio de funciones integrado de MATLAB.

clc
clear

exist exist builtin
type = exist('exist','builtin')

Producción :

ans =

     5


type =

     5

En el código anterior, usamos dos sintaxis de la función exist() y buscamos el nombre del archivo existente dentro del directorio de funciones integrado de Matlab. El resultado es 5 porque el nombre del archivo existente es el nombre de una función integrada en Matlab.

Consulte este enlace para obtener más detalles sobre la función exist().

Comprobar la existencia de un archivo mediante la función dir() en MATLAB

Podemos comprobar la existencia de un archivo en un directorio utilizando la función dir() de MATLAB. La sintaxis de la función dir() se da a continuación.

dir('file_name')

En el código anterior, la función dir() devuelve un campo de estructura que contiene cinco variables que tienen información sobre el nombre del archivo dado. Si el nombre del archivo no existe, las cinco variables estarán vacías.

Podemos verificar el tamaño de la salida de la función dir() para verificar si el archivo dado existe en el directorio actual o no. Por ejemplo, si el archivo existe, el tamaño de salida de la función dir() será 1, y en el caso de un nombre de carpeta, el tamaño será 5.

Ejemplo:

clc
clear

d = dir('animal.jpg')
s = size(dir('animal.jpg'),1)

Producción :

d =

  struct with fields:

       name: 'animal.jpg'
     folder: 'C:\Users\ammar'
       date: '09-Mar-2022 13:20:18'
      bytes: 48580
      isdir: 0
    datenum: 7.3859e+05


s =

     1

En el código anterior, no tenemos que usar la línea variable d para verificar la existencia del archivo, pero puede verificar los detalles de otros archivos. En el resultado anterior, la variable s es 1, lo que significa que el archivo se encuentra en el directorio actual de MATLAB.

Tenga en cuenta que la función dir() solo buscará el archivo en el directorio actual utilizado por MATLAB. Si le pasamos un nombre de carpeta, la función size() devolverá 5 si se encuentra la carpeta y 0 si no se encuentra.

Consulte este enlace para obtener más detalles sobre la función dir().

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook