การเขียนหรือสร้างไฟล์ใน Python สามารถทำได้หลายรูปแบบตามความต้องการในการจัดการไฟล์ ซึ่งมีทั้งการสร้างไฟล์ใหม่ เขียนข้อมูลเพิ่มเติม และการแก้ไขไฟล์ที่มีอยู่แล้ว โดยรูปแบบการทำงานกับไฟล์ใน Python จะใช้คำสั่ง open() เป็นหลัก ร่วมกับโหมดการทำงานที่กำหนดการใช้งานต่าง ๆ
การเปิดไฟล์ด้วยคำสั่ง open()
คำสั่ง open() ใช้ในการเปิดไฟล์ ซึ่งต้องระบุชื่อไฟล์ที่ต้องการเปิดพร้อมทั้งโหมดการทำงานที่กำหนดได้ตามนี้:
'r': อ่านไฟล์ (ค่าเริ่มต้น)'w': เขียนทับไฟล์ (สร้างไฟล์ใหม่หากไม่มี)'a': เขียนต่อท้ายไฟล์'x': สร้างไฟล์ใหม่ ถ้ามีไฟล์อยู่แล้วจะเกิดข้อผิดพลาด'b': ทำงานในโหมดไบนารี เช่น เปิดไฟล์ภาพ't': ทำงานในโหมดข้อความ (ค่าเริ่มต้น)'+': เปิดไฟล์สำหรับการอ่านและเขียน
การเขียนไฟล์
ตัวอย่างการเขียนไฟล์แบบข้อความสามารถทำได้ดังนี้
การเขียนไฟล์ใหม่
# เปิดไฟล์ในโหมดเขียน ('w')
with open('example.txt', 'w') as file:
file.write("Hello, this is a new file.")ในตัวอย่างนี้ ไฟล์ example.txt จะถูกสร้างขึ้นใหม่ และเขียนข้อความ “Hello, this is a new file.” ลงไปในไฟล์ หากไฟล์มีอยู่แล้วเนื้อหาเดิมจะถูกเขียนทับ
การเขียนข้อมูลเพิ่มเติมในไฟล์ที่มีอยู่
# เปิดไฟล์ในโหมดเขียนเพิ่มเติม ('a')
with open('example.txt', 'a') as file:
file.write("\nThis is an additional line.")ในตัวอย่างนี้จะทำการเขียนข้อมูลเพิ่มเติมลงไปในไฟล์เดิม โดยไม่ลบข้อมูลที่มีอยู่
การอ่านไฟล์
เราสามารถใช้คำสั่ง open() ในโหมด 'r' เพื่อเปิดไฟล์และอ่านข้อมูลจากไฟล์ได้ ตัวอย่างเช่น
# เปิดไฟล์ในโหมดอ่าน ('r')
with open('example.txt', 'r') as file:
content = file.read()
print(content)ในตัวอย่างนี้โปรแกรมจะอ่านเนื้อหาทั้งหมดจากไฟล์ example.txt และแสดงผลออกมาทางหน้าจอ
การอ่านไฟล์ทีละบรรทัด
บางครั้งอาจต้องการอ่านข้อมูลจากไฟล์ทีละบรรทัด เราสามารถทำได้ดังนี้
# เปิดไฟล์ในโหมดอ่าน ('r')
with open('example.txt', 'r') as file:
for line in file:
print(line.strip()) # strip() ลบช่องว่างและบรรทัดใหม่การจัดการไฟล์ไบนารี
ไฟล์ที่ไม่ใช่ข้อความ (เช่น ภาพ) สามารถอ่านและเขียนได้ในโหมดไบนารี ตัวอย่างเช่น
การคัดลอกไฟล์ภาพ
# เปิดไฟล์ภาพในโหมดไบนารี ('rb' สำหรับอ่านและ 'wb' สำหรับเขียน)
with open('image.jpg', 'rb') as img_file:
with open('copy_image.jpg', 'wb') as copy_file:
copy_file.write(img_file.read())ตัวอย่างนี้ทำการคัดลอกไฟล์ภาพ image.jpg ไปยังไฟล์ใหม่ชื่อ copy_image.jpg
การใช้ with ในการจัดการไฟล์
การใช้คำสั่ง with ช่วยให้ไม่ต้องปิดไฟล์เอง Python จะทำการปิดไฟล์ให้อัตโนมัติเมื่อออกจากบล็อกคำสั่ง with
สรุป
การเขียนหรือสร้างไฟล์ใน Python มีรูปแบบที่ยืดหยุ่นและใช้งานง่าย โดยสามารถเลือกโหมดการทำงานได้ตามความต้องการ เช่น การเขียนไฟล์ใหม่ การเขียนต่อท้ายไฟล์เดิม หรือการอ่านไฟล์ไบนารี นอกจากนี้ การใช้คำสั่ง with ยังช่วยให้การจัดการไฟล์เป็นไปอย่างสะดวก
