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