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