En MATLAB, la función fileattrib()
permite obtener información sobre los atributos de un archivo, incluidos los permisos de acceso. Un paso que puede evitar problemas cuando se quiere modificar, borrar o, incluso, leer un archivo. En esta entrada, se explicará cómo usar la función para comprobar los permisos de un archivo en MATLAB e interpretar la salida en Windows.
Uso de la función fileattrib()
Para comprobar los permisos de un archivo en MATLAB se puede recurrir a la función fileattrib()
. Su uso es bastante sencillo, solamente se le debe pasar una cadena con la ruta al archivo y devuelve dos valores
[status, values] = fileattrib(filename)
donde
filename
es la cadena de texto con la ruta al archivo,status
es un valor que puede ser 1, lo que indica que la operación de ha realizado de forma correcta, o 0, cuando ha existido algún problema, yvalues
es una estructura con los datos del archivo.
Comprendiendo values
Cuando se llama a fileattrib()
con el nombre de un archivo como argumento y se recogen los dos valores se obtiene una estructura con los siguientes valores:
Name
: El nombre del archivo.archive
,system
,hidden
,directory
: Indicadores de atributos del archivo. Respectivamente, cada uno de estos valores indica si el objeto es un archivo, pertenece al sistema, es un recurso oculto o es un directorio.UserRead
,UserWrite
,UserExecute
: Permisos de acceso del usuario actual. Respectivamente, indica si el usuario puede leer, escribir y ejecutar el archivo.GroupRead
,GroupWrite
,GroupExecute
: Permisos de acceso para el grupo al que pertenece el archivo. Los permisos son los mismos que para el usuario.OtherRead
,OtherWrite
,OtherExecute
: Permisos de acceso para otros usuarios. Al igual que en los dos casos anteriores indica respectivamente que el resto de los usuarios pueden leer, escribir o ejecutar.
Un ejemplo de la estructura values
seria de la siguiente forma:
Información de atributos del archivo:
Name: 'C:\Users\Daniel\Documentos\data.csv'
archive: 1
system: 0
hidden: 0
directory: 0
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
Emplear fileattrib()
para obtener los permisos de un archivo en MATLAB
Para verificar los permisos de un archivo en MATLAB se puede usar un código como el que se muestra a continuación.
filename = 'data.csv'; % Obtener información de atributos del archivo [status, file_info] = fileattrib(filename); if ~status disp('El archivo no existe.'); else disp('Información de atributos del archivo:'); disp(file_info); % Verificar permisos de acceso del usuario actual if file_info.UserRead disp('Tienes permiso de lectura en este archivo.'); end if file_info.UserWrite disp('Tienes permiso de escritura en este archivo.'); end if file_info.UserExecute disp('Tienes permiso de ejecución en este archivo.'); end end
Tienes permiso de lectura en este archivo.
Tienes permiso de escritura en este archivo.
Tienes permiso de ejecución en este archivo.
En este ejemplo, se comprueba los permisos de archivo 'data.csv'
en la carpeta actual, para lo que se llama a la función fileattrib()
. Para comprobar que no ha existido un problema, como que no exista el archivo, en primer lugar, se comprueban si el valor de status
es no válido, en ese caso se sacará por pantalla el mensaje El archivo no existe.
. Nótese que, en caso de existir un problema cuando se llama a la función, esta no dará un error, sino que el valor de status
será 0.
Conclusiones
La función fileattrib()
de MATLAB permite obtener información sobre los atributos de un archivo, incluidos los permisos de acceso. Una información que es útil para evitar problemas, como intentar modificar un archivo sobre el que no se tienen permisos. Lo que facilita un uso seguro y eficiente de los archivos en los proyectos de MATLAB.
Deja una respuesta