ตัวอธิบายไฟล์เป็นสิ่งอำนวยความสะดวกระดับต่ำสำหรับการทำงานกับไฟล์ที่ได้รับจากเคอร์เนล OS โดยตรง file descriptor เป็นจำนวนเต็มที่ระบุไฟล์ที่เปิดอยู่ในตารางของไฟล์ที่เปิดเก็บไว้โดยเคอร์เนลสำหรับแต่ละกระบวนการ การเรียกระบบจำนวนหนึ่งยอมรับตัวอธิบายไฟล์ แต่ไม่สะดวกในการทำงาน โดยทั่วไปต้องใช้บัฟเฟอร์ความกว้างคงที่ การลองใหม่หลายครั้งในบางเงื่อนไข และการจัดการข้อผิดพลาดด้วยตนเอง
อ็อบเจ็กต์ไฟล์เป็นคลาส Python ที่รวม file descriptor เพื่อให้การทำงานกับไฟล์สะดวกยิ่งขึ้นและเกิดข้อผิดพลาดน้อยลง ตัวอย่างเช่น มีการจัดการข้อผิดพลาด การบัฟเฟอร์ การอ่านทีละบรรทัด และปิดเมื่อรวบรวมขยะ
-
open() ในตัวใช้ชื่อไฟล์และส่งคืนวัตถุไฟล์ Python ใหม่ โปรดทราบว่าสิ่งนี้แตกต่างจาก os.open()
-
os.open() ใช้ชื่อไฟล์และส่งคืน file descriptor ใหม่ file descriptor นี้สามารถส่งต่อไปยังฟังก์ชันระดับล่างอื่นๆ เช่น os.read() และ os.write() หรือไปยัง os.fdopen()
-
os.fdopen() ใช้ file descriptor ที่มีอยู่และสร้างอ็อบเจกต์ไฟล์ Python รอบๆ มันแปลง file descriptor เป็นวัตถุไฟล์แบบเต็ม มีประโยชน์เมื่อเชื่อมต่อกับโค้ด C หรือ API ที่สร้างเฉพาะตัวอธิบายไฟล์ระดับต่ำเท่านั้น
ดังนั้นฟังก์ชันทั้งสองนี้จึงใกล้เคียงกับฟังก์ชันการทำงานของระบบใน Python มากขึ้น