12 ธันวาคม 2558

Published ธันวาคม 12, 2558 by with 0 comment

อ่าน-เขียนข้อมูลไบนารีไฟล์ในภาษาไพทอน

บทความนี้ผมจะพาผู้อ่านไปอ่านและเขียนข้อมูลไบนารีไฟล์ในภาษาไพทอนกันครับ


ไบนารีไฟล์ (binary files) เป็นไฟล์ข้อมูลในรูปแบบเฉพาะของคอมพิวเตอร์ โดยข้อมูลที่เก็บอาจเป็นเลขจำนวนเต็ม ตัวอักษร และอื่น ๆ เป็นต้น

ในภาษาไพทอน มีหลักไวยากรณ์ในการอ่านและเขียนข้อมูลไบนารีไฟล์ในภาษาไพทอนดังนี้

การเปิดไฟล์ไบนารีในภาษาไพทอน

open(ชื่อไฟล์,โหมดการเปิดไฟล์)

โหมดการเปิดไฟล์มีดังนี้

  • wb เขียนไบนารีไฟล์หรือสร้างไบนารีไฟล์ใหม่ในกรณีที่ไม่มีไฟล์ที่เรียก
  • rb อ่านไบนารีไฟล์
  • ab เขียนข้อมูลต่อท้ายข้อมูลที่มีอยู่ในไฟล์
  • wb+ เขียนไบนารีไฟล์หรือสร้างไบนารีไฟล์ใหม่ในกรณีที่ไม่มีไฟล์ที่เรียก
  • rb+ อ่านไบนารีไฟล์ ถ้าไม่มีไฟล์ให้สร้างไฟล์ใหม่
  • ab+ เขียนข้อมูลต่อท้ายข้อมูลที่มีอยู่ในไฟล์ ถ้าไม่มีไฟล์ให้สร้างไฟล์ใหม่

การปิดไฟล์


หลังอ่าน เขียน ไฟล์แล้ว เพื่อคืนความจำให้กับระบบ ต้องทำการปิดไฟล์ โดยใช้คำสั่ง

file.close()

ข้อควรรู้
ชนิดข้อมูล Byte string ในภาษาไพทอน จะขึ้นต้นด้วย b"ข้อมูล"
อ่านเพิ่มเติมได้จากบทความ Byte Array ในภาษาไพทอน Python 3

เขียนข้อมูลลงไฟล์


ทบทวนความรู้พื้นฐานเรื่องจำนวนไบต์และบิต MB GB
8  Bit (บิต) = 1 Byte (ไบต์)
1 Byte (ไบต์) = 1 ตัวอักษร
1 KB (กิโลไบต์) = 1024 Byte 
1 MB (เมกกะไบต์) = 1024 KB 
1 GB (กิกะไบต์) = 1024 MB

การเขียนข้อมูลลงไบนารีไฟล์ในภาษาไพทอน ใช้คำสั่งต่อไปนี้

file.write(ข้อมูลไบต์)
ตัวอย่างการเขียนข้อมูลลงไฟล์

ofile = open("a", 'wb') # wb เขียนไฟล์
ofile.write(b"ok")
ofile.close()

เขียนข้อมูลต่อจากไฟล์เดิม
ใช้โหมดเปิดไฟล์ ab
ตัวอย่าง
ofile = open("a", 'ab') # ab เขียนข้อมูลต่อจากไฟล์เดิม
ofile.write(b"Hi")
ofile.close()

อ่านไฟล์


ใช้คำสั่ง
file.read(ขนาดข้อมูลไบต์ที่อ่าน)
ตัวอย่างการอ่านไฟล์

ofile = open("a", 'rb') # rb อ่านไฟล์
print(ofile.read(2)) # อ่านข้อมูล 2 ไบต์
print(ofile.read(2)) # อ่านข้อมูลอีก 2 ไบต์
ofile.close()

ผลลัพธ์

b'ok'
b'Hi'


ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

โพสต์ความคิดเห็น

แสดงความคิดเห็นได้ครับ :)