Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีเปิด/ปิดไฟล์ใน Python อย่างปลอดภัย

การใช้งานฟังก์ชัน open() เพื่อเปิดไฟล์ใน Python สามารถทำได้ดังนี้:

f = open('my_file', 'r+')
my_file_data = f.read()
f.close()

โค้ดข้างต้นจะเปิด 'my_file' ในโหมดอ่าน (read mode) เก็บข้อมูลที่อ่านได้ไว้ในตัวแปร my_file_data และปิดไฟล์อาร์กิวเมนต์แรกของ open() คือชื่อไฟล์ อาร์กิวเมนต์ที่สองคือโหมดการเปิด ซึ่งกำหนดวิธีการเข้าถึงไฟล์

ตัวอย่างโหมดการเปิดไฟล์

- หากต้องการอ่านไฟล์ ให้ใช้ 'r'
- หากต้องการอ่านและเขียนไฟล์ ให้ใช้ 'r+'
- หากต้องการทับเนื้อหาไฟล์ ให้ใช้ 'w'
- หากต้องการต่อท้ายไฟล์ ให้ใช้ 'a'

เมื่อเปิดไฟล์ ระบบปฏิบัติการจะมอบ "ไฟล์แฮนเดิล" (file handle) ให้เพื่ออ่าน/เขียนไฟล์ คุณต้องปิดไฟล์เมื่อใช้งานเสร็จ หากโปรแกรมเกิดข้อผิดพลาดและไม่ได้เรียก f.close() ไฟล์จะไม่ถูกปล่อยออก เพื่อป้องกันปัญหานี้ ให้ใช้ syntax with open(...) as f ซึ่งจะปิดไฟล์อัตโนมัติไม่ว่าจะมีข้อผิดพลาดหรือไม่:

with open('my_file', 'r+') as f:
    my_file_data = f.read()

วิธีนี้เป็นแนวทางปฏิบัติที่ดีที่สุด (best practice) เพราะรับประกันการปิดไฟล์แม้จะมี exception เกิดขึ้น