파일

7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

Filemap_each 함수를 사용하지 않고 Args 객체에 전달되면 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

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

루트

root File.root

이 파일이 있는 루트입니다.

short_path

string File.short_path

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

tree_relative_path

string File.tree_relative_path

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