ทำความรู้จักกับภาษา python (27) : Opening and Closing Files (โอเพ่น แอนด์ โคซิ่ง ไฟล์) การเขียนไฟล์และการเปิดปิดไฟล์

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

dawthana
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 604
ลงทะเบียนเมื่อ: 07/12/2016 10:55 am

ทำความรู้จักกับภาษา python (27) : Opening and Closing Files (โอเพ่น แอนด์ โคซิ่ง ไฟล์) การเขียนไฟล์และการเปิดปิดไฟล์

โพสต์โดย dawthana » 13/01/2017 5:22 pm

Opening and Closing Files (โอเพ่น แอนด์ โคซิ่ง ไฟล์) การเขียนไฟล์และการเปิดปิดไฟล์
ในภาษา python (ไพทอน) สามารถทำการเปิดปิดไฟล์ได้ง่ายๆ โดยฟังก์ชันที่ใช้ในการเปิดปิดไฟล์ คือ open()
รูปแบบของการเปิดไฟล์

โค้ด: เลือกทั้งหมด

file_object = open (file_name [,access_mode][,buffering])

โดย
    - file_object (ไฟล์_อ๊อบเจค) คือ ชื่อ Object (เมื่อทำการเปิดไฟล์จะได้มาเป็น object)
    - file_name (ไฟล์_เนม) คือ ชื่อไฟล์
    - access_mode (แอคเสจ_โหมด) คือ โหมดในการเปิดไฟล์ (ซึ่งจะอธิบายรายละเอียดไว้ในหน้าถัดไป)
    - buffering (บัฟเฟอร์ริ่ง) ให้มีการใช้งานของ buffer (บัฟเฟอร์)หรือไม่ (เปิดการใช้งานไฟล์แค่บางส่วน)
โหมดการจัดการไฟล์
    r (อาร์) เป็นการเปิดไฟล์เพื่ออ่านอย่างเดียว
    r+ (อาร์บวก) เป็นการเปิดไฟล์เพื่ออ่านและเขียน
    rb (อาร์บี) เป็นการเปิดไฟล์เพื่ออ่านข้อมูล Binary (ไบนารี่) อย่างเดียว
    rb+ (อาร์บีบวก) เป็นการเปิดไฟล์เพื่ออ่านและเขียนข้อมูล Binary
    w (ดับเบิ้ลยู) เป็นการเปิดไฟล์เพื่อเขียนอย่างเดียว , เป็นการสร้างใหม่หากมีไฟล์อยู่แล้วจะทับไฟล์เก่า
    w+ (ดับเบิ้ลยูบวก) เป็นการเปิดไฟล์เพื่ออ่านและเขียน , เป็นการสร้างใหม่หากมีไฟล์อยู่แล้วจะทับไฟล์เก่า
    wb (ดับเบิ้ลยูบี) เป็นการเปิดไฟล์เพื่อเขียนข้อมูล Binary อย่างเดียว , เป็นการสร้างใหม่หากมีไฟล์อยู่แล้วจะทับไฟล์เก่า
    wb+ (ดับเบิ้ลยูบีบวก) เป็นการเปิดไฟล์เพื่ออ่านและเขียนข้อมูล Binary , เป็นการสร้างใหม่หากมีไฟล์อยู่แล้วจะทับไฟล์เก่า
    a (เอ) เป็นการเปิดไฟล์เพื่ออ่านอย่างเดียว , เป็นการสร้างไฟล์ใหม่หากยังไม่มีไฟล์ , ไม่มีการทับไฟล์เก่า , Pointer (พ้อยท์เตอร์) อยู่ท้ายต่อท้ายข้อมูล
    a+ (เอบวก) เป็นการเปิดไฟล์เพื่ออ่านและเขียน , เป็นการสร้างไฟล์ใหม่หากยังไม่มีไฟล์ , ไม่มีการทับไฟล์เก่าแต่เป็นเพียงการเขียนต่อท้าย , Pointer อยู่ท้ายต่อท้ายข้อมูล
    ab (เอบี) เป็นการเปิดไฟล์เพื่อเขียนข้อมูล Binary อย่างเดียว , เป็นการสร้างไฟล์ใหม่หากยังไม่มีไฟล์ , ไม่มีการทับไฟล์เก่า , Pointer อยู่ท้ายต่อท้ายข้อมูล
    ab+ (เอบีบวก) เป็นการเปิดไฟล์เพื่อเขียนข้อมูล Binary อย่างเดียว , เป็นการสร้างไฟล์ใหม่หากยังไม่มีไฟล์ , ไม่มีการทับไฟล์เก่าแต่เป็นเพียงการเขียนต่อท้าย , Pointer อยู่ท้ายต่อท้ายข้อมูล
รูปแบบการปิดไฟล์

โค้ด: เลือกทั้งหมด

file_object.close()

โดย
    - file_object ชื่อ object
    - เมื่อทำการเปิดไฟล์แล้วก็ต้องทำการปิดไฟล์เสมอ
    - ข้อมูลจะถูกบันทึกก็ต่อเมื่อทำการปิดไฟล์
ตัวอย่างการเขียนไฟล์และทำการเปิดปิดไฟล์
เมื่อต้องการจบการทำงาน ให้พิมพ์ esc (อีเอสซี) โดยข้อมูลที่รับค่าจากคีย์บอร์ดเข้าไปจะไปโชว์ที่ไฟล์ write_file.txt (ไรท์_ไฟล์)
openclose.png

การอ่านข้อมูลจากไฟล์
การอ่านข้อมูลจากไฟล์จะใช้ฟังก์ชัน read() (เร็ด)
read.png

โดย
    - ใช้โหมดการเปิดไฟล์เป็น "r"
    - ในการอ่านข้อมูลจากไฟล์แต่ละครั้งจะต้องทำการเปิดไฟล์ก่อน
    - เมื่อทำการเปิดไฟล์แล้วก็ต้องทำการปิดไฟล์เสมอ
การอ่านข้อมูลทีละบรรทัด
เพื่อนำข้อมูลที่ได้มาทำการประมวลผลต่อ เช่น การคำนวณ หรือเก็บข้อมูลลงฐานข้อมูล โดยจะใช้ฟังก์ชัน readline() เป็นการวนลูปเพื่อช่วยให้แสดงข้อมูลออกมาครบทั้งไฟล์
ตัวอย่างการการอ่านข้อมูลจากไฟล์ทีละบรรทัดโดยใช้ while loop (ไวล์ ลูป)
while_loop.png

ตัวอย่างการการอ่านข้อมูลจากไฟล์ทีละบรรทัดโดยใช้ for loop (ฟอร์ ลูป) ทำงานได้เร็วกว่า while loop
for_loop.png


ศึกษาข้อมูลมาจาก https://youtu.be/Yix3nenrev0?list=PLLi1ciqQAf8TVFbJpl7XY23lzdKrpxsMM
คุณไม่มีสิทธิ์ดูไฟล์ที่แนบมาในกระทู้
แก้ไขล่าสุดโดย dawthana เมื่อ 13/01/2017 6:03 pm, แก้ไขไปแล้ว 1 ครั้ง.


ภาพประจำตัวสมาชิก
Dive Demo
PHP Sr. Member
PHP Sr. Member
โพสต์: 84
ลงทะเบียนเมื่อ: 01/02/2017 11:10 am

Re: ทำความรู้จักกับภาษา python (27) : Opening and Closing Files (โอเพ่น แอนด์ โคซิ่ง ไฟล์) การเขียนไฟล์และการเปิดปิดไฟล์

โพสต์โดย Dive Demo » 04/02/2017 3:52 pm

เข้าใจรูปแบบของการเขียน/เปิดไฟล์แล้วครับ


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 2 และ บุคคลทั่วไป 0 ท่าน