फाइल डिस्क्रिप्टर्स OS कर्नेल द्वारा सीधे प्रदान की जाने वाली फ़ाइलों के साथ काम करने के लिए एक लो-लेवल सुविधा है। एक फाइल डिस्क्रिप्टर एक इंटीजर है जो प्रत्येक प्रोसेस के लिए कर्नेल द्वारा रखी गई खुली फ़ाइलों की टेबल में खुली फ़ाइल की पहचान करता है। कई सिस्टम कॉल फाइल डिस्क्रिप्टर्स स्वीकार करते हैं, लेकिन वे काम करने के लिए सुविधाजनक नहीं हैं, आमतौर पर फिक्स्ड-विड्थ बफ़र्स, कुछ शर्तों में कई रीट्राई, और मैन्युअल एरर हैंडलिंग की आवश्यकता होती है।
फाइल ऑब्जेक्ट्स पायथन क्लासेस हैं जो फाइल डिस्क्रिप्टर्स को लपेटकर फ़ाइलों के साथ काम करना अधिक सुविधाजनक और कम एरर-प्रोन बनाती हैं। उदाहरण के लिए, वे एरर-हैंडलिंग, बफ़रिंग, लाइन-दर-लाइन पढ़ना प्रदान करते हैं और गारबेज कलेक्ट होने पर बंद हो जाते हैं।