ในการศึกษาก่อนหน้านี้ ไม่ว่าเราจะเรียนรู้การดำเนินการประเภทข้อมูลใด ข้อมูลที่เราใช้เมื่อทดสอบโปรแกรมจะไม่ได้รับการบันทึก หากเราต้องการวิเคราะห์ความสัมพันธ์ของข้อมูลทางสถิติ เราจำเป็นต้องบันทึกข้อมูลลงในไฟล์ในเครื่อง Python จัดให้มีการดำเนินการในการเข้าถึงไฟล์ การเข้าถึงไดเร็กทอรี การอ่านไฟล์ และการเขียนไฟล์ ออบเจ็กต์ไฟล์ของ Python เรียกอีกอย่างว่าออบเจ็กต์ไฟล์หรือสตรีมที่คล้ายกัน ในส่วนนี้ เราจะเรียนรู้เกี่ยวกับการทำงานของไฟล์ก่อน
เราจำเป็นต้องใช้ฟังก์ชัน open() เมื่อสร้างหรือเปิดไฟล์ โครงสร้างไวยากรณ์ของมันคือ:
file=open(ชื่อไฟล์,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,openr=None)
ในบรรดาพารามิเตอร์เหล่านี้ เรามักจะใช้ชื่อไฟล์และโหมด คุณสามารถเข้าใจพารามิเตอร์ที่เหลือได้โดยย่อ
ชื่อไฟล์คือไฟล์ที่จะสร้างหรือเปิดโดยใช้เครื่องหมายคำพูดเดี่ยวหรือเครื่องหมายคำพูดคู่ หากอยู่ในโฟลเดอร์เดียวกันกับไฟล์ปัจจุบัน คุณสามารถเขียนชื่อไฟล์ได้โดยตรง หากไม่มี ให้ป้อนพาธแบบสัมบูรณ์
mode คือโหมดการตั้งค่าพารามิเตอร์ซึ่งระบุวิธีการเปิดไฟล์โดยค่าเริ่มต้นคือแบบอ่านอย่างเดียว (r) พารามิเตอร์โหมดที่ใช้กันทั่วไป ได้แก่ r, rb, wb, xb, ab และ rt, wt, xt และ at ซึ่งสอดคล้องกับสำหรับไฟล์ไบนารีและไฟล์ข้อความ สามารถละเว้นได้เมื่อใช้
พารามิเตอร์ทางเลือก คุณสามารถตั้งค่าโหมดบัฟเฟอร์ได้ หากเป็น -1 บัฟเฟอร์จะถูกตั้งค่าโดยอัตโนมัติ โดยปกติจะเป็น 4096 หรือ 8192 ไบต์ หากเป็น 0 บัฟเฟอร์จะถูกปิดและเขียนลงในไฟล์โดยตรง
วิธีแรกคือวิธีการเข้ารหัสสำหรับการเปิดไฟล์ และส่วนต่อท้ายจะระบุวิธีการประมวลผลเมื่อเกิดข้อผิดพลาดในการเข้ารหัส
โหมดการแบ่งบรรทัด
ใช้เมื่ออธิบายไฟล์
ใช้เมื่ออธิบายไฟล์
มาสร้างไฟล์ผ่านตัวอย่างกัน
file=open('test.txt','w')file.write('first write')file=open('test.txt','r+')file.write('การเขียนครั้งที่สอง เขียนทับ เขียนครั้งแรก')
ณ จุดนี้ เราจะพบว่ามีไฟล์ test.txt เพิ่มเติมในไดเร็กทอรีปัจจุบัน และเราจะเปิดมันขึ้นมา
เราจะพบว่าเนื้อหาในข้อความเป็นสิ่งที่เราเขียนเป็นครั้งที่สองเพราะในครั้งแรกที่เราสร้างไฟล์และครั้งที่สองที่เราเปิดไฟล์อีกครั้งโหมดการเปิดนั้นสามารถเขียนทับได้และครั้งที่สองที่เรา เนื้อหาที่เขียนยังครอบคลุมถึงเนื้อหาที่เราเขียนเป็นครั้งแรก ตารางต่อไปนี้แสดงวิธีการเปิดที่ใช้กันทั่วไป
ลองมาดูที่โหมดผนวกผ่านตัวอย่าง
รหัสมีดังนี้:
file=open('test.txt','w')file.write('First write.')print(file)file=open('test.txt','a+')file.write(' การเขียนต่อท้ายครั้งที่สอง . ') พิมพ์ (ไฟล์)
เนื้อหาของไฟล์คือ:
เขียนครั้งแรก. เขียนเพิ่มเติมครั้งที่สอง
ผลลัพธ์ที่ได้จะอยู่ในรูปแบบไบนารี:
<_io.TextIOWrappername='test.txt'mode='w'encoding='cp936'><_io.TextIOWrappername='test.txt'mode='a+'encoding='cp936'>
เราจำเป็นต้องปิดไฟล์หลังจากเขียนเพื่อให้แน่ใจว่าเนื้อหาในไฟล์ไม่ได้รับการแก้ไขโดยปลั๊กอินที่เป็นอันตราย วิธีการปิดคือ:
ไฟล์.ปิด()
เพียงเพิ่มไว้ท้ายไฟล์
เกี่ยวกับการสร้างและการเปิดไฟล์ เราต้องใส่ใจกับวิธีการเปิดหรือสร้างไฟล์ สิ่งนี้สำคัญมากสำหรับการดำเนินการไฟล์ในภายหลัง ในส่วนถัดไป เราจะเรียนรู้วิธีการอ่านไฟล์