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