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