文件

报告问题 查看源代码

此对象会在分析阶段创建,用于表示将在执行阶段读取或写入的文件或目录。该文件不是打开的文件句柄,无法直接读取或写入文件内容。而是用于将其传递给操作创建函数,从而在规则实现函数中构建操作图。如需了解详情,请参阅“规则”页面

如果将 File 传递给 Args 对象而不使用 map_each 函数,系统会通过将其 path 字段的值转换为字符串。

会员

基名

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。根目录可能为空,这通常适用于非生成的文件。对于生成的文件,它通常包含特定于配置的路径 fragment,该 fragment 会对构建该文件时使用的目标 CPU 架构等内容进行编码。如果该文件位于二进制文件的运行文件中,请使用 short_path 作为该文件的映射路径。

root

root File.root

此文件所在的根文件夹。

短路径

string File.short_path

此文件相对于其路径的路径。这指的是前面提到的“根目录”,即路径中特定于配置的 fragment。如果该文件位于二进制文件的运行时文件中,则此文件也将作为其映射路径。

树相对路径

string File.tree_relative_path

如果祖先的 is_directory 字段为 true,则此文件相对于祖先树的根目录的路径。tree_relative_path 仅适用于操作命令中目录的扩展文件,即 Args.add_all()。对于其他类型的文件,访问此字段会出错。