파일

이 객체는 실행 단계에서 읽거나 쓸 파일 또는 디렉터리를 나타내기 위해 분석 단계에서 생성됩니다. 열린 파일 핸들이 아니며 파일 콘텐츠를 직접 읽거나 쓰는 데 사용할 수 없습니다. 대신, 이를 사용하여 작업 생성 함수에 전달하여 규칙 구현 함수에서 작업 그래프를 구성합니다. 자세한 내용은 규칙 페이지를 참조하세요.

map_each 함수를 사용하지 않고 Args 객체에 File를 전달하면 path 필드의 값을 사용하여 문자열로 변환됩니다.

구성원

basename

string File.basename

이 파일의 기본 이름입니다. 디렉터리에 있는 파일의 이름입니다.

dirname

string File.dirname

이 파일이 포함된 디렉터리의 이름입니다. path에서 가져오고 항상 실행 디렉터리를 기준으로 합니다.

확장 프로그램

string File.extension

이 파일의 확장자로, 맨 오른쪽 마침표 다음 (제외)입니다. 파일의 기본 이름에 마침표가 포함되어 있지 않은 경우 빈 문자열입니다.

is_directory

bool File.is_directory

디렉터리인 경우 true를 반환합니다.

is_source

bool File.is_source

소스 파일 즉, 생성되지 않은 경우 true를 반환합니다.

소유자

Label File.owner

이 파일을 생성하는 대상의 라벨. None를 반환할 수 있습니다.

경로

string File.path

이 파일의 실행 경로로, 작업공간의 실행 디렉터리를 기준으로 합니다. 두 부분으로 구성됩니다. 선택적 첫 번째 부분인 루트 (루트 모듈 참고)와 두 번째 부분인 short_path입니다. 루트는 비어 있을 수 있으며 일반적으로 생성되지 않은 파일에 사용됩니다. 생성된 파일의 경우 일반적으로 해당 파일을 빌드하는 동안 사용된 타겟 CPU 아키텍처와 같은 항목을 인코딩하는 구성별 경로 프래그먼트가 포함됩니다. 바이너리의 실행 파일에 있는 경우 파일이 매핑되는 경로로 short_path을 사용합니다.

root

root File.root

이 파일이 아래에 있는 루트입니다.

short_path

string File.short_path

이 파일의 루트를 기준으로 한 상대 경로입니다. 앞서 언급한 루트, 즉 경로의 구성 관련 프래그먼트는 제외됩니다. 이는 파일이 바이너리의 실행 파일에 있는 경우 매핑되는 경로이기도 합니다.

tree_relative_path

string File.tree_relative_path

상위 파일의 is_directory 필드가 true인 경우 상위 트리의 루트를 기준으로 파일의 경로입니다. tree_relative_path는 작업 명령어에 포함된 디렉터리의 확장된 파일(예: Args.add_all())에서만 사용할 수 있습니다. 다른 유형의 파일에서 이 필드에 액세스하면 오류가 발생합니다.