फ़ाइल

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

इस ऑब्जेक्ट को विश्लेषण के फ़ेज़ के दौरान बनाया जाता है. इससे, किसी फ़ाइल या डायरेक्ट्री को दिखाया जाता है, जिसे लागू करने के फ़ेज़ के दौरान पढ़ा या लिखा जाएगा. यह कोई ओपन फ़ाइल हैंडल नहीं है. इसका इस्तेमाल, फ़ाइल के कॉन्टेंट को सीधे पढ़ने या उसमें लिखने के लिए नहीं किया जा सकता. इसके बजाय, इसका इस्तेमाल नियम लागू करने वाले फ़ंक्शन में ऐक्शन ग्राफ़ बनाने के लिए किया जाता है. इसके लिए, इसे ऐक्शन बनाने वाले फ़ंक्शन में पास किया जाता है. ज़्यादा जानकारी के लिए, नियमों का पेज देखें.

जब File को map_each फ़ंक्शन का इस्तेमाल किए बिना Args ऑब्जेक्ट में पास किया जाता है, तो उसके 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 दिखाता है. इसका मतलब है कि इसे जनरेट नहीं किया गया है.

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(). दूसरी तरह की फ़ाइलों के लिए, इस फ़ील्ड को ऐक्सेस करने पर गड़बड़ी होती है.