फ़ाइल

समस्या की शिकायत करें सोर्स देखें Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

जब map_each फ़ंक्शन का इस्तेमाल किए बिना, किसी Args ऑब्जेक्ट को File पास किया जाता है, तो इसे स्ट्रिंग में बदल दिया जाता है. इसके लिए, इसके path फ़ील्ड की वैल्यू का इस्तेमाल किया जाता है.

सदस्य

basename

string File.basename

इस फ़ाइल का बेस नेम. यह डायरेक्ट्री में मौजूद फ़ाइल का नाम है.

dirname

string File.dirname

इस फ़ाइल को सेव करने वाली डायरेक्ट्री का नाम. इसे पाथ से लिया जाता है और यह हमेशा एक्ज़ीक्यूशन डायरेक्ट्री के हिसाब से होता है.

एक्सटेंशन

string File.extension

इस फ़ाइल का फ़ाइल एक्सटेंशन. यह सबसे दाईं ओर मौजूद अवधि के बाद (शामिल नहीं) होता है. अगर फ़ाइल के बेसनेम में कोई पीरियड शामिल नहीं है, तो खाली स्ट्रिंग.

is_directory

bool File.is_directory

अगर यह डायरेक्ट्री है, तो 'सही' दिखाता है. इससे पता चलता है कि फ़ाइल को किस टाइप के तौर पर बताया गया था. जैसे, ctx.actions.declare_directory. इससे फ़ाइल सिस्टम में मौजूद फ़ाइल के टाइप का पता नहीं चलता. ऐसा हो सकता है कि फ़ाइल सिस्टम में मौजूद फ़ाइल का टाइप अलग हो.

is_source

bool File.is_source

अगर यह सोर्स फ़ाइल है, तो यह फ़ंक्शन सही वैल्यू दिखाता है. इसका मतलब है कि यह फ़ाइल जनरेट नहीं की गई है.

bool File.is_symlink

अगर इसे सिमलंक के तौर पर एलान किया गया है, तो यह फ़ंक्शन 'सही' दिखाता है. इससे पता चलता है कि फ़ाइल को किस टाइप के तौर पर घोषित किया गया था.जैसे, ctx. actions.declare_symlink.इससे फ़ाइल सिस्टम पर मौजूद फ़ाइल के टाइप का पता नहीं चलता, जो अलग हो सकता है.

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