ไฟล์ใช้เพื่อจัดเก็บและจัดระเบียบข้อมูลบนดิสก์ เรามักใช้ไฟล์เมื่อต้องการจัดเก็บข้อมูลบนฮาร์ดดิสก์อย่างถาวร ตัวอย่างเช่น สมมติว่าเรากำลังสร้างระบบซอฟต์แวร์ที่เก็บข้อมูลของนักเรียน ตอนนี้ เราต้องเก็บข้อมูลของนักเรียนไว้อย่างถาวรเพื่อใช้ในอนาคต เพื่อจุดประสงค์นี้ เราสามารถใช้ไฟล์เพื่อเก็บข้อมูล และต่อมา เราสามารถเปิดไฟล์เหล่านี้และเข้าถึงข้อมูลที่เก็บไว้ได้ตลอดเวลา
การอ่านและการเขียนไฟล์เป็นฟังก์ชันทั่วไปใน Python ง่ายต่อการสร้าง อ่าน และแก้ไขไฟล์ใน Python Python มาพร้อมกับฟังก์ชันในตัวสำหรับอ่านและเขียนไฟล์ คุณสามารถเปิด เขียน และอ่านไฟล์โดยใช้ฟังก์ชันในตัวของ Python การทำงานของไฟล์จะดำเนินการตามลำดับต่อไปนี้:
- เปิดไฟล์
- อ่าน/เขียนไฟล์
- ปิดไฟล์
เมื่อใช้ Python คุณสามารถสร้างไฟล์ข้อความและไฟล์ไบนารีได้ ไฟล์ข้อความเก็บข้อมูลในรูปแบบของอักขระ และแต่ละบรรทัดลงท้ายด้วยอักขระขึ้นบรรทัดใหม่ (' n') ในไฟล์ไบนารี ข้อมูลจะถูกจัดเก็บในรูปแบบไบต์ (1 และ 0)
ในบทความนี้ คุณจะได้เรียนรู้:
- โหมดไฟล์ต่างๆ ใน Python
- วิธีเปิดไฟล์
- วิธีสร้างไฟล์
- วิธีเขียนข้อมูลลงไฟล์
- วิธีอ่านไฟล์
โหมดไฟล์ต่างๆ ใน Python
โหมดใน Python อธิบายประเภทของการดำเนินการที่จะดำเนินการกับไฟล์ เมื่อเปิดไฟล์ คุณต้องระบุโหมด ทุกไฟล์มีตัวจัดการไฟล์ ตัวจัดการไฟล์ทำหน้าที่เหมือนเคอร์เซอร์ที่ระบุตำแหน่งที่จะเขียนและอ่านข้อมูล เป็นประเภทของตัวชี้ตำแหน่ง ต่อไปนี้รวมถึงโหมดการเข้าถึงไฟล์ต่างๆ ใน Python:
โหมด | คำอธิบาย |
NS | เปิดไฟล์ในโหมดการอ่าน โหมดนี้จะถูกเลือกโดยค่าเริ่มต้น หากคุณไม่ได้กำหนดโหมดใดๆ ในขณะที่เปิดไฟล์ใน Python |
ใน | เขียนไฟล์. โหมดนี้จะสร้างไฟล์หากไฟล์นั้นไม่มีอยู่แล้วและเขียนทับข้อมูลในไฟล์ |
r+ | ใช้ในการอ่านและเขียนไฟล์ มันแสดงข้อผิดพลาดหากไม่มีไฟล์ |
ถึง | เปิดไฟล์ในโหมดผนวก ตัวจัดการไฟล์อยู่ที่ส่วนท้ายของไฟล์ โหมดนี้จะไม่เขียนทับข้อมูลที่มีอยู่แต่เริ่มเขียนข้อมูลที่ส่วนท้ายของไฟล์ ไฟล์ใหม่จะถูกสร้างขึ้นหากไม่มีไฟล์ |
เป็น + | เปิดไฟล์สำหรับอ่านและเขียน ซึ่งจะเปิดไฟล์ในโหมดต่อท้ายเพื่อเขียน ข้อมูลจะถูกแทรกที่ส่วนท้ายของไฟล์ ไฟล์ใหม่จะถูกสร้างขึ้นหากไม่มีไฟล์ |
NS | เปิดไฟล์ในโหมดข้อความ |
วิธีเปิดไฟล์
ในการเปิดไฟล์ใน Python ให้ใช้ built-in เปิด() การทำงาน. ฟังก์ชัน open() รับสองอาร์กิวเมนต์เป็นอินพุต นั่นคือ ชื่อของไฟล์และโหมดการทำงาน ฟังก์ชันนี้ส่งคืนอ็อบเจ็กต์ไฟล์เป็นเอาต์พุต ไม่จำเป็นต้องนำเข้าโมดูลใดๆ เพื่อใช้ฟังก์ชัน open() ต่อไปนี้เป็นไวยากรณ์ของฟังก์ชัน open():
file_object= เปิด(ชื่อไฟล์,โหมด)ในที่นี้ 'file_name' หมายถึงชื่อของไฟล์ข้อความจริง ในขณะที่ 'mode' หมายถึงการเข้าถึงไฟล์หรือโหมดการทำงานของไฟล์ คุณยังสามารถวาง r ก่อน 'file_name' หากชื่อไฟล์มีอักขระพิเศษ r ถูกวางไว้ดังนี้:
=file_object= เปิด(rfile_name,โหมด)
ตัวอย่างเช่น ชื่อไฟล์อาจเป็น: F: ewfoldermyfile.txt
วิธีสร้างไฟล์
สามารถใช้ฟังก์ชัน open() เพื่อสร้างไฟล์ใน Python ใช้โหมดผนวก (a) ภายในฟังก์ชัน open() เพื่อสร้างไฟล์ สร้างไฟล์โดยใช้รหัสที่ระบุด้านล่าง:
ไฟล์ = เปิด('ตัวอย่าง.txt','ถึง')ที่นี่ วัตถุไฟล์ใหม่จะถูกสร้างขึ้น วัตถุไฟล์มีชื่อว่า file ชื่อของไฟล์ข้อความที่สร้างขึ้นใหม่คือ sample.txt ไฟล์ข้อความถูกเปิดในโหมดผนวก มันจะสร้างไฟล์ใหม่ถ้าไฟล์นั้นยังไม่มีอยู่ หลังจากสร้างไฟล์แล้ว คุณต้องปิดไฟล์ด้วยวิธีต่อไปนี้:
ไฟล์.ปิด()ฟังก์ชัน close() ในตัวใช้สำหรับปิดไฟล์
วิธีเขียนข้อมูลลงไฟล์
มีสองฟังก์ชันใน Python ที่ใช้สำหรับเขียนข้อมูลในไฟล์:
- เขียน()
- สายการเขียน ()
ฟังก์ชัน write() ใช้เพื่อเขียนข้อมูลบรรทัดเดียวหรือสตริงเดียวไปยังไฟล์ ในขณะที่ฟังก์ชัน writelines() ใช้เพื่อเขียนข้อมูลหลายบรรทัดลงในไฟล์ข้อความ เรามาดูตัวอย่างการเขียนข้อมูลลงไฟล์กัน
การใช้ฟังก์ชันเขียน()
ในตัวอย่างนี้ เราใช้ฟังก์ชัน write() เพื่อเขียนข้อมูลลงในไฟล์ ไฟล์ถูกเปิดในโหมดการเขียน ถูกวางไว้เพื่อระบุจุดสิ้นสุดของบรรทัด
# การสร้างวัตถุไฟล์ใหม่และเปิดไฟล์ในโหมดเขียนไฟล์=เปิด('ตัวอย่าง.txt','ใน')
#เขียนบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('ยินดีต้อนรับสู่ linuxhintNS')
# เขียนอีกบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('ยินดีต้อนรับกลับ')
#ปิดไฟล์
ไฟล์.ปิด()
เอาท์พุต
มีการเขียนบรรทัดในไฟล์ข้อความ
หากเราเปิดไฟล์ในโหมดเขียนและขอให้ฟังก์ชัน write() เขียนบรรทัดเพิ่มเติมในไฟล์ มันจะเขียนทับข้อมูลก่อนหน้าและข้อมูลใหม่จะถูกเพิ่มลงในไฟล์ข้อความ
# การสร้างวัตถุไฟล์ใหม่และเปิดไฟล์ในโหมดเขียนไฟล์=เปิด('ตัวอย่าง.txt','ใน')
#เขียนบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('สวัสดีทุกคนNS')
# เขียนอีกบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('นี่คือสตริงที่ถูกแทนที่')
#ปิดไฟล์
ไฟล์.ปิด()
เอาท์พุต
ในผลลัพธ์จะเห็นได้ว่าข้อมูลก่อนหน้าถูกแทนที่และเพิ่มข้อมูลใหม่เข้ามาแทนที่ในไฟล์ข้อความ
หากเราต้องการเก็บทั้งข้อมูลก่อนหน้าและข้อมูลใหม่ในไฟล์ เราสามารถเปิดไฟล์ในโหมดผนวกข้อมูลได้ดังนี้:
# การสร้างวัตถุไฟล์ใหม่และเปิดไฟล์ในโหมดต่อท้ายไฟล์=เปิด('ตัวอย่าง.txt','ถึง')
#เขียนบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('สวัสดีทุกคนNS')
# เขียนอีกบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('นี่คือสตริงที่ถูกแทนที่NS')
# เขียนบรรทัดใหม่อีกบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('นี่คือสตริงสตริงที่เพิ่มใหม่NS')
#ปิดไฟล์
ไฟล์.ปิด()
เอาท์พุต
การใช้ฟังก์ชัน writelines()
ฟังก์ชัน writelines() ใช้สำหรับเขียนข้อความหลายบรรทัดพร้อมกัน ดังนี้
# การสร้างวัตถุไฟล์ใหม่และเปิดไฟล์ในโหมดเขียนไฟล์=เปิด('file1.txt','ใน')
# จัดเก็บข้อมูลสตริงหลายรายการในตัวแปร
NS = ['สวัสดีทุกคนNS','ยินดีต้อนรับสู่ linuxhintNS','เรากำลังใช้ฟังก์ชัน writelinesNS']
# ใช้ฟังก์ชัน writelines เพื่อเขียนข้อมูลในไฟล์
ไฟล์.สายการเขียน(NS)
#ปิดไฟล์
ไฟล์.ปิด()
เอาท์พุต
วิธีอ่านไฟล์
หากต้องการอ่านไฟล์ใน Python ก่อนอื่นให้เปิดไฟล์ในโหมดการอ่าน มีฟังก์ชันในตัวสามฟังก์ชันใน Python สำหรับอ่านไฟล์ ซึ่งรวมถึงสิ่งต่อไปนี้:
- อ่าน()
- อ่านบรรทัด ()
- การอ่าน ()
อ่าน(): ใช้เพื่ออ่านข้อมูลจากไฟล์ ส่งกลับข้อมูลทั้งหมดในรูปแบบของสตริง
อ่านบรรทัด (): อ่านบรรทัดข้อมูลจากไฟล์ ส่งคืนเฉพาะบรรทัดแรก
การอ่าน (): อ่านบรรทัดที่มีอยู่ทั้งหมดจากไฟล์ ส่งคืนในรูปแบบของรายการ
ฟังก์ชัน Seek() ใช้เพื่อเปลี่ยนตำแหน่งการจัดการไฟล์ เมื่ออ่านข้อมูลในไฟล์ ไฟล์จะจัดการตำแหน่งตัวเองที่ส่วนท้ายของไฟล์ ดังนั้น ตัวจัดการไฟล์จึงเหมือนกับเคอร์เซอร์ โดยมีฟังก์ชัน find() เป็นวิธีการย้ายเคอร์เซอร์
เรามาดูตัวอย่างการอ่านข้อมูลจากไฟล์กัน
# เปิดไฟล์ในโหมดอ่านไฟล์=เปิด('file1.txt','NS')
# ใช้ฟังก์ชัน read() เพื่ออ่านข้อมูลจากไฟล์
# การจัดเก็บบรรทัดในตัวแปร
ข้อมูล=ไฟล์.อ่าน()
#พิมพ์ข้อมูล
พิมพ์('นี่คือผลลัพธ์ของฟังก์ชัน read():NS')
พิมพ์(ข้อมูล)
# ใช้ฟังก์ชัน find() เพื่อนำตำแหน่งไฟล์ใน start
ไฟล์.แสวงหา(0)
# ใช้ฟังก์ชัน readline() เพื่ออ่านข้อมูลจากไฟล์
# การจัดเก็บบรรทัดในตัวแปร
ข้อมูล=ไฟล์.readline()
#พิมพ์ข้อมูล
พิมพ์('นี่คือผลลัพธ์ของฟังก์ชัน readline():NS')
พิมพ์(ข้อมูล)
# ใช้ฟังก์ชัน find() เพื่อนำตำแหน่งไฟล์ใน start
ไฟล์.แสวงหา(0)
# ใช้ฟังก์ชัน readlines() เพื่ออ่านข้อมูลจากไฟล์
# การจัดเก็บบรรทัดในตัวแปร
ข้อมูล=ไฟล์.readlines()
#พิมพ์ข้อมูล
พิมพ์('นี่คือผลลัพธ์ของฟังก์ชัน readlines():NS')
พิมพ์(ข้อมูล)
#ปิดไฟล์
ไฟล์.ปิด()
เอาท์พุต
บทสรุป
บ่อยครั้งจำเป็นต้องจัดเก็บข้อมูลหรือข้อมูลลงในไฟล์ ใน Python คุณสามารถสร้าง เขียน และอ่านไฟล์ได้อย่างง่ายดายโดยใช้ฟังก์ชันในตัวของ Python ไม่จำเป็นต้องนำเข้าโมดูลอื่น ๆ ในโปรแกรมของคุณเมื่อคุณต้องการอ่าน เขียน และสร้างไฟล์ คุณยังสามารถใช้โหมดการเข้าถึงในตัวได้หลายโหมดในขณะที่ใช้ไฟล์ ในบทความนี้ เราได้อธิบายวิธีการอ่านและเขียนไฟล์ใน Python ด้วยตัวอย่างง่ายๆ