Aller au contenu principal

Obtenir les attributs d’un fichier (file.attrs)

Déclaration

table d’attributs, message d’erreur = file.attrs(chemin du répertoire [, champ demandé])

Paramètres

  • chemin du répertoire
    Chaîne
  • champ demandé
    Paramètre facultatif, trois formes sont prises en charge :
    • omis : crée et renvoie une table d’attributs contenant tous les champs
    • une table (type table) : ne crée pas de table et renseigne celle qui est fournie
    • un nom de champ (chaîne) : renvoie directement la valeur de ce champ
    • "dev" : périphérique où se trouve l’inode du fichier
    • "ino" : numéro d’inode du fichier
    • "mode" : type de fichier, peut être "file", "directory", "link", "socket", "named pipe", "char device", "block device" ou "other"
    • "nlink" : nombre de liens matériels
    • "uid" : ID du propriétaire du fichier
    • "gid" : ID du groupe propriétaire du fichier
    • "rdev" : type de périphérique de l’inode d’un fichier spécial
    • "access" : heure du dernier accès au fichier
    • "modification" : heure de la dernière modification du fichier
    • "change" : heure de la dernière modification de l’état du fichier
    • "size" : taille du fichier, en octets
    • "permissions" : permissions du fichier
    • "blksize" : taille des blocs d’E/S du système de fichiers
    • "blocks" : nombre de blocs de 512 octets alloués au fichier

Valeur de retour

  • table d’attributs
    Type table, renvoie la table d’attributs si l’opération réussit et nil dans le cas contraire
  • message d’erreur
    Chaîne, message d’erreur en cas d’échec

Description

Obtient les attributs d’un fichier. Si la cible est un lien symbolique, renvoie les attributs du fichier cible, comme lfs.attributes
Cette fonction est disponible à partir de la version 20250705

Exemple

local info, err = file.attrs("/var/mobile/Media/1ferver/lua/scripts/")
if info then
sys.alert("文件信息:"..json.encode(info))
else
sys.alert("获取文件属性失败:"..err)
end

Remarque : le code ci-dessus utilise la fonction hors de ce chapitre sys.alert