इस ऑब्जेक्ट को विश्लेषण के चरण के दौरान बनाया जाता है. इससे, किसी फ़ाइल या डायरेक्ट्री को दिखाया जाता है, जिसे लागू करने के चरण के दौरान पढ़ा या लिखा जाएगा. यह कोई ओपन फ़ाइल हैंडल नहीं है. इसका इस्तेमाल, फ़ाइल के कॉन्टेंट को सीधे पढ़ने या उसमें लिखने के लिए नहीं किया जा सकता. इसके बजाय, इसका इस्तेमाल नियम लागू करने वाले फ़ंक्शन में ऐक्शन ग्राफ़ बनाने के लिए किया जाता है. इसके लिए, इसे ऐक्शन बनाने वाले फ़ंक्शन में पास किया जाता है. ज़्यादा जानकारी के लिए, नियमों का पेज देखें.
जब map_each
फ़ंक्शन का इस्तेमाल किए बिना File
को 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अगर यह सोर्स फ़ाइल है, तो True दिखाता है. इसका मतलब है कि इसे जनरेट नहीं किया गया है.
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अगर पूर्वज का is_directory फ़ील्ड सही है, तो पूर्वज के ट्री के मूल के सापेक्ष इस फ़ाइल का पाथ.
tree_relative_path
, कार्रवाई निर्देश में किसी डायरेक्ट्री की बड़ी की गई फ़ाइलों के लिए ही उपलब्ध है, जैसे कि Args.add_all(). दूसरी तरह की फ़ाइलों के लिए, इस फ़ील्ड को ऐक्सेस करने में गड़बड़ी होती है.