การอ่านและเขียนไฟล์ด้วย Python

Reading Writing Files With Python



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

การอ่านและการเขียนไฟล์เป็นฟังก์ชันทั่วไปใน 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 ที่ใช้สำหรับเขียนข้อมูลในไฟล์:

  1. เขียน()
  2. สายการเขียน ()

ฟังก์ชัน write() ใช้เพื่อเขียนข้อมูลบรรทัดเดียวหรือสตริงเดียวไปยังไฟล์ ในขณะที่ฟังก์ชัน writelines() ใช้เพื่อเขียนข้อมูลหลายบรรทัดลงในไฟล์ข้อความ เรามาดูตัวอย่างการเขียนข้อมูลลงไฟล์กัน

การใช้ฟังก์ชันเขียน()

ในตัวอย่างนี้ เราใช้ฟังก์ชัน write() เพื่อเขียนข้อมูลลงในไฟล์ ไฟล์ถูกเปิดในโหมดการเขียน ถูกวางไว้เพื่อระบุจุดสิ้นสุดของบรรทัด

# การสร้างวัตถุไฟล์ใหม่และเปิดไฟล์ในโหมดเขียน
ไฟล์=เปิด('ตัวอย่าง.txt','ใน')
#เขียนบรรทัดเดียวลงในไฟล์

ไฟล์.เขียน('ยินดีต้อนรับสู่ linuxhintNS')
# เขียนอีกบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('ยินดีต้อนรับกลับ')

#ปิดไฟล์
ไฟล์.ปิด()

เอาท์พุต

มีการเขียนบรรทัดในไฟล์ข้อความ

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

# การสร้างวัตถุไฟล์ใหม่และเปิดไฟล์ในโหมดเขียน
ไฟล์=เปิด('ตัวอย่าง.txt','ใน')
#เขียนบรรทัดเดียวลงในไฟล์

ไฟล์.เขียน('สวัสดีทุกคนNS')
# เขียนอีกบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('นี่คือสตริงที่ถูกแทนที่')

#ปิดไฟล์
ไฟล์.ปิด()

เอาท์พุต

ในผลลัพธ์จะเห็นได้ว่าข้อมูลก่อนหน้าถูกแทนที่และเพิ่มข้อมูลใหม่เข้ามาแทนที่ในไฟล์ข้อความ

หากเราต้องการเก็บทั้งข้อมูลก่อนหน้าและข้อมูลใหม่ในไฟล์ เราสามารถเปิดไฟล์ในโหมดผนวกข้อมูลได้ดังนี้:

# การสร้างวัตถุไฟล์ใหม่และเปิดไฟล์ในโหมดต่อท้าย
ไฟล์=เปิด('ตัวอย่าง.txt','ถึง')
#เขียนบรรทัดเดียวลงในไฟล์

ไฟล์.เขียน('สวัสดีทุกคนNS')
# เขียนอีกบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('นี่คือสตริงที่ถูกแทนที่NS')
# เขียนบรรทัดใหม่อีกบรรทัดเดียวลงในไฟล์
ไฟล์.เขียน('นี่คือสตริงสตริงที่เพิ่มใหม่NS')
#ปิดไฟล์
ไฟล์.ปิด()

เอาท์พุต

การใช้ฟังก์ชัน writelines()

ฟังก์ชัน writelines() ใช้สำหรับเขียนข้อความหลายบรรทัดพร้อมกัน ดังนี้

# การสร้างวัตถุไฟล์ใหม่และเปิดไฟล์ในโหมดเขียน
ไฟล์=เปิด('file1.txt','ใน')
# จัดเก็บข้อมูลสตริงหลายรายการในตัวแปร
NS = ['สวัสดีทุกคนNS','ยินดีต้อนรับสู่ linuxhintNS','เรากำลังใช้ฟังก์ชัน writelinesNS']
# ใช้ฟังก์ชัน writelines เพื่อเขียนข้อมูลในไฟล์
ไฟล์.สายการเขียน(NS)
#ปิดไฟล์
ไฟล์.ปิด()

เอาท์พุต

วิธีอ่านไฟล์

หากต้องการอ่านไฟล์ใน Python ก่อนอื่นให้เปิดไฟล์ในโหมดการอ่าน มีฟังก์ชันในตัวสามฟังก์ชันใน Python สำหรับอ่านไฟล์ ซึ่งรวมถึงสิ่งต่อไปนี้:

  1. อ่าน()
  2. อ่านบรรทัด ()
  3. การอ่าน ()

อ่าน(): ใช้เพื่ออ่านข้อมูลจากไฟล์ ส่งกลับข้อมูลทั้งหมดในรูปแบบของสตริง

อ่านบรรทัด (): อ่านบรรทัดข้อมูลจากไฟล์ ส่งคืนเฉพาะบรรทัดแรก

การอ่าน (): อ่านบรรทัดที่มีอยู่ทั้งหมดจากไฟล์ ส่งคืนในรูปแบบของรายการ

ฟังก์ชัน 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 ด้วยตัวอย่างง่ายๆ