Page 94 - python
P. 94
68
s = "สาขาวิชาสารสนเทศศาสตร คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม"
f.write(s)
f.close()
ตัวอยางที่ 6.1 คําสั่ง f = open("demofile.txt", "w", encoding="utf-8") เปนการเปดไฟลเพื่อ
เขียน (w) และเขารหัสดวย utf-8 รองรับทุกภาษาสากล อาทิ ไทย จีน ญี่ปุน ฯลฯ ตัวแปร s เปนขอความ
ื่
ี
ํ
ที่ตองการเขยนลงในไฟล จากนั้นเรียกคําสั่ง write(s) เพอเขียนขอมูลลงในไฟล และทาการปดไฟลดวย
คําสั่ง close() ตอนนี้ในระบบปฏิบัติการจะมีไฟลเกิดขึ้นชื่อวา demofile.txt และภายในไฟลจะมีขอความ
จากตัวแปร s เก็บลงในไฟล
ตัวอยางที่ 6.2 การเปดไฟลเพื่ออาน
f = open("demofile.txt", "r", encoding="utf-8")
s = f.read()
f.close()
print(s)
ผลลัพธ :
สาขาวิชาสารสนเทศศาสตร คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม
ตัวอยางที่ 6.2 การเปดไฟลเพื่ออานใชคําสั่ง open("demofile.txt", "r", encoding="utf-8")
่
จากนันทําการอานไฟลดวยคําสัง read() และปดไฟลดวยคาสง close() ผลลพธทีได คอ ตัวแปรทีมารับคา
ื
่
่
ั
ํ
ั
่
้
จากการอานไฟลดวยคําสั่ง read() จากนั้นพิมพคาในตัวแปร s ผลลัพธ คือ "สาขาวิชาสารสนเทศศาสตร
คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม"
6.4 บัฟเฟอร (Buffer)
ี่
ื้
ขนาดของบฟเฟอรเปนเลขจํานวนเต็มใชสําหรับจองพนทหนวยความจําสําหรับไฟล บัฟเฟอรจึง
ั
เปนหนวยความจําที่จองเอาไวสําหรับเขียนหรืออานไฟล เมื่อขอมูลเต็มบัฟเฟอร ระบบปฏิบัติการจะนํา
ขอมูลจากบัฟเฟอรลงไปเขียนลงในไฟล บัฟเฟอรชวยเพิ่มความเร็วในการเขาถึงอุปกรณ IO
6.5 ความแตกตางระหวางแฟมขอมูลแบบ Binary และ Text Mode
ระบบปฏิบัติการวินโดวสเปนระบบเดียวที่มีความแตกตางระหวางเท็กซโหมดและไบนารีโหมด
ระบบปฏิบัติการอน ๆ เชน Linux , MacOS, Android จะไมมีความแตกตางระหวางเท็กซโหมดและไบ
ื่
นารีโหมด
ั
เท็กซโหมดในระบบปฏิบัติการวินโดวสจะเปลี่ยนเครื่องหมายขึ้นตนบรรทดใหม '\n' เปน '\r\n'
เรียกวาอักขระขึ้นตนบรรทัดใหม (Carriage-Return Line Feed) หรือ CRLF
ตัวอยางที่ 6.3 การอานและเขียนไฟลแบบไบนารี
s="""Information
Science