วิธีใช้ "with" ใน python เพื่อเปิดไฟล์ (รวมถึงตัวอย่าง)
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเปิดไฟล์ใน Python ทำบางอย่างกับไฟล์นั้น แล้วปิดไฟล์:
file = open (' my_data.csv ') df = file. read () print (df) file. close ()
ปัญหาของวิธีนี้คือลืมปิดไฟล์ได้ง่ายมาก
แนวทางที่ดีกว่าคือใช้ กับ open ซึ่งใช้ไวยากรณ์พื้นฐานต่อไปนี้:
with open (' my_data.csv ') as file: df = file. read () print (df)
เมื่อใช้วิธีการนี้ ไฟล์ที่คุณใช้งานอยู่จะถูกปิดโดยอัตโนมัติ ดังนั้นคุณจึงไม่จำเป็นต้องจำต้องใช้ file.close()
ตัวอย่างต่อไปนี้แสดงวิธีการใช้งาน ด้วย open ในสถานการณ์ที่แตกต่างกัน
ตัวอย่างที่ 1: ใช้คำสั่ง With เพื่ออ่านไฟล์
รหัสต่อไปนี้แสดงวิธีใช้คำสั่ง “with” เพื่ออ่านไฟล์ใน Python และพิมพ์เนื้อหาของไฟล์:
with open (' my_data.csv ') as file: df = file. read () print (df) ,points, assists, rebounds 0.11.5.6 1,17,7,8 2,16,7,8 3,18,9,10 4,22,12,14 5,25,9,12 6,26,9,12 7,24,4,10 8,29,8,11
เนื้อหาของไฟล์จะถูกพิมพ์และไฟล์จะถูกปิดโดยอัตโนมัติโดยที่เราไม่ต้องพิมพ์ file.close()
ตัวอย่างที่ 2: ใช้คำสั่ง With เพื่อเขียนไฟล์
รหัสต่อไปนี้แสดงวิธีการใช้คำสั่ง “with” เพื่อเขียนข้อความลงในไฟล์:
with open (' data_out.csv ', ' w ') as file: file. write (' Some text to write to CSV file ')
โปรดทราบว่าคำสั่ง ‘ w ‘ ในคำสั่ง open() จะบอก Python ให้ใช้โหมด ‘write’ กับไฟล์ แทนที่จะเป็นโหมดการอ่าน
ตัวอย่างที่ 3: ใช้คำสั่ง With เพื่ออ่านและเขียนไฟล์
นอกจากนี้เรายังสามารถเปิดไฟล์หลายไฟล์พร้อมกันได้ในคำสั่ง “with” เดียว
รหัสต่อไปนี้แสดงวิธีใช้คำสั่ง “with” เพื่อเปิดไฟล์สองไฟล์ อ่านเนื้อหาของไฟล์เดียว จากนั้นเขียนเนื้อหาของไฟล์แรกไปยังไฟล์ที่สอง:
with open (' my_data.csv ', ' r ') as infile, open (' data_out.csv ', ' w ') as outfile: for line in infile: outfile. write (line)
หากเรานำทางไปยังตำแหน่งที่เราเขียนว่า “data_out.csv” เราจะสามารถดูเนื้อหาของไฟล์ได้:
โปรดทราบว่าเราสามารถใช้ฟังก์ชัน open() เพื่อเปิดไฟล์ได้มากเท่าที่ต้องการในคำสั่ง “with” เดียว
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน Python:
วิธีอ่านไฟล์ CSV ด้วย Pandas
วิธีอ่านไฟล์ Excel ด้วย Pandas
วิธีอ่านไฟล์ข้อความด้วย Pandas