본문으로 건너뛰기

파일 속성 가져오기 (file.attrs)

선언

속성 테이블, 오류 정보 = file.attrs(디렉터리 경로 [, 요청 필드])

매개변수

  • 디렉터리 경로
    문자열
  • 요청 필드
    선택 사항. 다음 세 가지 방식으로 전달할 수 있습니다.
    • 생략: 모든 필드를 포함하는 속성 테이블을 만들어 반환합니다.
    • 테이블 전달: 새 테이블을 만들지 않고 전달받은 테이블에 속성을 채웁니다.
    • 단일 필드 이름 전달(문자열): 해당 필드 값을 직접 반환합니다.
    • "dev": 파일의 inode가 있는 장치
    • "ino": 파일의 inode 번호
    • "mode": 파일 유형. "file", "directory", "link", "socket", "named pipe", "char device", "block device" 또는 "other"일 수 있습니다.
    • "nlink": 하드 링크 수
    • "uid": 파일 소유자 ID
    • "gid": 파일 소유자 그룹 ID
    • "rdev": 특수 파일 inode의 장치 유형
    • "access": 파일의 최근 접근 시간
    • "modification": 파일의 최근 수정 시간
    • "change": 파일 상태의 최근 변경 시간
    • "size": 바이트 단위의 파일 크기
    • "permissions": 파일 권한
    • "blksize": 파일 시스템 I/O 블록 크기
    • "blocks": 파일에 할당된 512바이트 블록 수

반환값

  • 속성 테이블
    테이블. 작업에 성공하면 속성 테이블, 실패하면 nil을 반환합니다.
  • 오류 정보
    문자열. 작업 실패 시의 오류 정보입니다.

설명

파일 속성을 가져옵니다. 대상이 심볼릭 링크이면 링크가 가리키는 대상 파일의 속성을 반환하며 lfs.attributes와 같습니다.
이 함수는 20250705 이후 버전에서 사용할 수 있습니다.

예제

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

참고: 위 코드에서는 이 장에서 설명하지 않는 함수인 sys.alert를 사용합니다.