इस ऑब्जेक्ट को विश्लेषण के फ़ेज़ के दौरान बनाया जाता है. इससे, किसी फ़ाइल या डायरेक्ट्री को दिखाया जाता है, जिसे लागू करने के फ़ेज़ के दौरान पढ़ा या लिखा जाएगा. यह कोई ओपन फ़ाइल हैंडल नहीं है. इसका इस्तेमाल, फ़ाइल के कॉन्टेंट को सीधे पढ़ने या उसमें लिखने के लिए नहीं किया जा सकता. इसके बजाय, इसका इस्तेमाल नियम लागू करने वाले फ़ंक्शन में ऐक्शन ग्राफ़ बनाने के लिए किया जाता है. इसके लिए, इसे ऐक्शन बनाने वाले फ़ंक्शन में पास किया जाता है. ज़्यादा जानकारी के लिए, नियमों का पेज देखें.
जब File
को map_each
फ़ंक्शन का इस्तेमाल किए बिना Args
ऑब्जेक्ट में पास किया जाता है, तो उसके path
फ़ील्ड की वैल्यू को स्ट्रिंग में बदल दिया जाता है.
सदस्य
basename
string File.basename
dirname
string File.dirname
एक्सटेंशन
string File.extension
is_directory
bool File.is_directory
is_source
bool File.is_source
owner
Label File.owner
None
को वापस किया जा सकता है.
पाथ
string File.path
short_path
होता है. रूट खाली हो सकता है. आम तौर पर, जनरेट नहीं की गई फ़ाइलों के लिए ऐसा होता है. जनरेट की गई फ़ाइलों के लिए, आम तौर पर इसमें कॉन्फ़िगरेशन के हिसाब से पाथ फ़्रैगमेंट होता है. यह फ़्रैगमेंट, टारगेट सीपीयू आर्किटेक्चर जैसी चीज़ों को कोड में बदलता है. इस आर्किटेक्चर का इस्तेमाल, फ़ाइल को बिल्ड करते समय किया गया था. अगर फ़ाइल किसी बाइनरी के रनफ़ाइल में है, तो उस पाथ के लिए short_path
का इस्तेमाल करें जिस पर फ़ाइल को मैप किया गया है.
रूट
root File.root
short_path
string File.short_path
tree_relative_path
string File.tree_relative_path
tree_relative_path
सिर्फ़ किसी ऐक्शन कमांड में, डायरेक्ट्री की बड़ी की गई फ़ाइलों के लिए उपलब्ध है. जैसे, Args.add_all(). अन्य तरह की फ़ाइलों के लिए, इस फ़ील्ड को ऐक्सेस करने पर गड़बड़ी होती है.