File Descriptors - low-level facility จาก OS kernel เป็น integer ระบุไฟล์ในตาราง open files ของแต่ละ process ใช้กับ system calls แต่ยุ่งยาก (fixed buffers, retries, manual error handling)
File Objects - Python classes wrap file descriptors ทำให้สะดวก ปลอดภัย มี error handling, buffering, line-by-line reading, ปิดอัตโนมัติเมื่อ garbage collected
open()(built-in) - รับ filename คืน file object ต่างจากos.open()os.open()- รับ filename คืน file descriptor ใช้กับ low-level functions (os.read,os.write) หรือส่งให้os.fdopen()os.fdopen()- รับ file descriptor มีอยู่แล้ว สร้าง file object รอบมัน แปลง fd เป็น file object เต็มรูปแบบ ใช้ตอน interface กับ C code หรือ API ที่คืน fd
ทั้งสองให้ low-level file operations ใกล้เคียงระบบปฏิบัติการ