จนถึงขณะนี้ คุณได้อ่านและเขียนไปยังอินพุตและเอาต์พุตมาตรฐานแล้ว ทีนี้มาดูวิธีการใช้ไฟล์ข้อมูลจริงกัน
Python มีฟังก์ชันพื้นฐานและวิธีการที่จำเป็นในการจัดการไฟล์โดยค่าเริ่มต้น คุณสามารถทำ ไฟล์ . ส่วนใหญ่ได้ การจัดการโดยใช้วัตถุไฟล์
ฟังก์ชั่นเปิด
ก่อนที่คุณจะสามารถอ่านหรือเขียนไฟล์ได้ คุณต้องเปิดไฟล์โดยใช้ฟังก์ชัน open() ในตัวของ Python ฟังก์ชันนี้สร้าง ไฟล์ วัตถุ ซึ่งจะใช้เพื่อเรียกวิธีการสนับสนุนอื่นๆ ที่เกี่ยวข้อง
ไวยากรณ์
file object =open(file_name [, access_mode][, buffering])
นี่คือรายละเอียดพารามิเตอร์ -
- file_name − อาร์กิวเมนต์ file_name เป็นค่าสตริงที่มีชื่อไฟล์ที่คุณต้องการเข้าถึง
- โหมดการเข้าถึง − access_mode กำหนดโหมดที่จะต้องเปิดไฟล์ เช่น อ่าน เขียน ผนวก ฯลฯ รายการค่าที่เป็นไปได้ทั้งหมดแสดงไว้ด้านล่างในตาราง นี่เป็นพารามิเตอร์ทางเลือกและโหมดการเข้าถึงไฟล์เริ่มต้นจะถูกอ่าน (r)
- บัฟเฟอร์ − หากตั้งค่าบัฟเฟอร์เป็น 0 จะไม่มีการบัฟเฟอร์เกิดขึ้น หากค่าการบัฟเฟอร์คือ 1 การบัฟเฟอร์บรรทัดจะดำเนินการขณะเข้าถึงไฟล์ หากคุณระบุค่าบัฟเฟอร์เป็นจำนวนเต็มที่มากกว่า 1 การดำเนินการบัฟเฟอร์จะดำเนินการโดยใช้ขนาดบัฟเฟอร์ที่ระบุ หากเป็นค่าลบ ขนาดบัฟเฟอร์จะเป็นค่าเริ่มต้นของระบบ (ลักษณะการทำงานเริ่มต้น)
นี่คือรายการโหมดต่างๆ ในการเปิดไฟล์ -
ซีเนียร์ | โหมด &คำอธิบาย |
---|---|
1 | ร เปิดไฟล์สำหรับอ่านเท่านั้น ตัวชี้ไฟล์ถูกวางไว้ที่จุดเริ่มต้นของไฟล์ นี่คือโหมดเริ่มต้น |
2 | rb เปิดไฟล์สำหรับอ่านในรูปแบบไบนารีเท่านั้น ตัวชี้ไฟล์ถูกวางไว้ที่จุดเริ่มต้นของไฟล์ นี่คือโหมดเริ่มต้น |
3 | r+ เปิดไฟล์สำหรับทั้งการอ่านและการเขียน ตัวชี้ไฟล์วางไว้ที่จุดเริ่มต้นของไฟล์ |
4 | rb+ เปิดไฟล์สำหรับทั้งการอ่านและการเขียนในรูปแบบไบนารี ตัวชี้ไฟล์วางไว้ที่จุดเริ่มต้นของไฟล์ |
5 | ว เปิดไฟล์สำหรับเขียนเท่านั้น เขียนทับไฟล์หากมีไฟล์อยู่ หากไม่มีไฟล์ ให้สร้างไฟล์ใหม่สำหรับเขียน |
6 | wb เปิดไฟล์สำหรับเขียนในรูปแบบไบนารีเท่านั้น เขียนทับไฟล์หากมีไฟล์อยู่ หากไม่มีไฟล์ ให้สร้างไฟล์ใหม่สำหรับเขียน |
7 | w+ เปิดไฟล์สำหรับทั้งการเขียนและการอ่าน เขียนทับไฟล์ที่มีอยู่ถ้ามีไฟล์อยู่ หากไม่มีไฟล์ ให้สร้างไฟล์ใหม่สำหรับอ่านและเขียน |
8 | wb+ เปิดไฟล์สำหรับทั้งการเขียนและการอ่านในรูปแบบไบนารี เขียนทับไฟล์ที่มีอยู่ถ้ามีไฟล์อยู่ หากไม่มีไฟล์ ให้สร้างไฟล์ใหม่สำหรับอ่านและเขียน |
9 | ก เปิดไฟล์สำหรับการต่อท้าย ตัวชี้ไฟล์อยู่ที่ส่วนท้ายของไฟล์ หากมีไฟล์อยู่ นั่นคือไฟล์อยู่ในโหมดต่อท้าย หากไม่มีไฟล์อยู่ จะสร้างไฟล์ใหม่สำหรับเขียน |
10 | ab เปิดไฟล์สำหรับการต่อท้ายในรูปแบบไบนารี ตัวชี้ไฟล์อยู่ที่ส่วนท้ายของไฟล์ หากมีไฟล์อยู่ นั่นคือไฟล์อยู่ในโหมดต่อท้าย หากไม่มีไฟล์อยู่ จะสร้างไฟล์ใหม่สำหรับเขียน |
11 | a+ เปิดไฟล์สำหรับการต่อท้ายและการอ่าน ตัวชี้ไฟล์อยู่ที่ส่วนท้ายของไฟล์ หากมีไฟล์อยู่ ไฟล์จะเปิดขึ้นในโหมดผนวก หากไม่มีไฟล์ ไฟล์จะสร้างไฟล์ใหม่สำหรับอ่านและเขียน |
12 | ab+ เปิดไฟล์สำหรับการต่อท้ายและการอ่านในรูปแบบไบนารี ตัวชี้ไฟล์อยู่ที่ส่วนท้ายของไฟล์ หากมีไฟล์อยู่ ไฟล์จะเปิดขึ้นในโหมดผนวก หากไม่มีไฟล์ ไฟล์จะสร้างไฟล์ใหม่สำหรับอ่านและเขียน |
คุณสมบัติของไฟล์ Object Attributes
เมื่อไฟล์ถูกเปิดขึ้นและคุณมีไฟล์หนึ่งออบเจกต์ คุณจะได้รับข้อมูลต่างๆ ที่เกี่ยวข้องกับไฟล์นั้น
นี่คือรายการของแอตทริบิวต์ทั้งหมดที่เกี่ยวข้องกับวัตถุไฟล์ -
ซีเนียร์ | โหมด &คำอธิบาย |
---|---|
1 | file.closed คืนค่า จริง หากไฟล์ถูกปิด มิฉะนั้น เท็จ |
2 | file.mode กลับเข้าสู่โหมดการเข้าถึงที่ไฟล์ถูกเปิด |
3 | file.name ส่งกลับชื่อของไฟล์ |
4 | file.softspace ส่งกลับค่าเท็จหากจำเป็นต้องใช้พื้นที่อย่างชัดแจ้งในการพิมพ์ มิฉะนั้นจะเป็นค่าจริง |
ตัวอย่าง
#!/usr/bin/python# Open a filefo =open("foo.txt", "wb")print "Name of the file:", fo.nameprint "Closed or not :", fo.closedprint "โหมดการเปิด:", fo.modeprint "ธง Softspace:", fo.softspace
ผลลัพธ์
สิ่งนี้ให้ผลลัพธ์ดังต่อไปนี้ -
ชื่อไฟล์:foo.txtClosed or not :FalseOpening mode :wbSoftspace flag :0
วิธีปิด()
เมธอด close() ของไฟล์ออบเจ็กต์จะล้างข้อมูลที่ไม่ได้เขียนใดๆ และปิดอ็อบเจ็กต์ไฟล์ หลังจากนั้นจะไม่สามารถทำการเขียนได้อีก
Python จะปิดไฟล์โดยอัตโนมัติเมื่อวัตถุอ้างอิงของไฟล์ถูกกำหนดใหม่ให้กับไฟล์อื่น เป็นการดีที่จะใช้เมธอด close() เพื่อปิดไฟล์
ไวยากรณ์
fileObject.close()
ตัวอย่าง
#!/usr/bin/python# Open a filefo =open("foo.txt", "wb")print "Name of the file:", fo.name# Close opend filefo.close()ก่อน>ผลลัพธ์
สิ่งนี้ให้ผลลัพธ์ดังต่อไปนี้ -
ชื่อไฟล์:foo.txt