檔案

回報問題 查看原始碼 Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

這個物件是在分析階段建立,用來代表在執行階段讀取或寫入的檔案或目錄。這不是開啟的檔案句柄,無法用於直接讀取或寫入檔案內容。而是將其傳遞至動作建立函式,以便在規則實作函式中建構動作圖表。詳情請參閱規則頁面

如果 File 是透過 map_each 函式傳遞至 Args 物件,系統會將其轉換為字串,並取得其 path 欄位的值。

成員

basename

string File.basename

這個檔案的基礎名稱。這是目錄中的檔案名稱。

目錄名稱

string File.dirname

包含此檔案的目錄名稱。這個 ID 取自 path,且一律相對於執行目錄。

擴充功能

string File.extension

這個檔案的副檔名,緊接在最右邊的句號之後 (不含)。如果檔案的基礎名稱不含半形句號,則為空白字串。

is_directory

bool File.is_directory

如果這是目錄,則傳回 true。這反映了檔案宣告為 (即 ctx.actions.dec_directory) 的類型,而不是檔案系統上的類型 (可能有所不同)。

is_source

bool File.is_source

如果這是來源檔案,也就是並非系統產生的檔案,則傳回 true。

bool File.is_symlink

如果這是目錄,則傳回 true。這反映了檔案宣告為 (即 ctx.actions.宣告_symlink) 的類型,而非檔案系統上的類型,因此可能不同。

擁有者

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」is_directory欄位為 true,則此檔案相對於祖系樹狀結構根目錄的路徑。tree_relative_path 僅適用於動作指令中目錄的展開檔案,例如 Args.add_all()。如果是其他類型的檔案,則存取此欄位會發生錯誤。