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

การเปิดและปิดไฟล์ใน Python


จนถึงขณะนี้ คุณได้อ่านและเขียนไปยังอินพุตและเอาต์พุตมาตรฐานแล้ว ทีนี้มาดูวิธีการใช้ไฟล์ข้อมูลจริงกัน

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