ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ไพทอนกับการอ่านเขียนไฟล์ เป็นเรื่องง่ายมากๆ โดยไพทอน เตรียมฟังก์ชั่นไว้สำหรับจัดการกับไฟล์ อยู่แล้วโดยเราไม่ต้อง import อะไรเพิ่มเข้ามา การอ่านเขียนไฟล์ ใน ไพทอน ก็จะคล้ายๆ กับภาษา C, PHP
ซึ่งจะมีฟังก์ชั่น open เป็นพระเองของเรา กล่าว คือไม่ว่าเราต้องการจะทำอะไร กับไฟล์ เราก็ต้อง เปิดไฟล์ ด้วย ฟังก์ชั่น open กันก่อน

รูปแบบฟังก์ชั่น open


file object = open(file_name [, access_mode][, buffering])

ฟังก์ชั่นจะคืนค่าออกมาเป็น object
file_name คือไฟล์ที่เราต้องการเปิด
access_mode คือรูปแบบในการเปิดไฟล์ดูรายละเอียดในตารางด้านล่าง
buffering กำหนดว่าเราจะใช้ buffer หรือไม่

mode รายละเอียด
r เปิดไฟล์เพื่ออ่านอย่างเดียว. pointer อยู่ที่จุดเริ่มต้นของไฟล์. **ถ้าเราไม่ก็หมด access_mode ไพทอนจะเปิดไฟล์ด้วย mode นี้.
rb เปิดไฟล์อ่านในรูปแบบ binary .
r+ เปิดไฟล์เพื่ออ่านและเขียน pointer อยู่ที่จุดเริ่มต้นของไฟล์
rb+ เปิดไฟล์เพื่ออ่านและเขียนด้วยรูปบบ binary pointer อยู่ที่จุดเริ่มต้นของไฟล์
w เปิดไฟล์เพื่อเขียนเท่านั้น ถ้ามีไฟล์อยู่แล้วจะเขียนทับไฟล์เก่า ถ้ายังไม่มีไฟล์ ไพทอนจะสร้างไฟล์ขึ้นมาให้
wb เปิดไฟล์เพื่อเขียนในรูปแบบ binary เท่านั้น ถ้ามีไฟล์อยู่แล้วจะเขียนทับไฟล์เก่า ถ้ายังไม่มีไฟล์ ไพทอนจะสร้างไฟล์ขึ้นมาให้
w+ เปิดไฟล์เพื่ออ่านและเขียน ถ้ามีไฟล์อยู่แล้วจะเขียนทับไฟล์เก่า ถ้ายังไม่มีไฟล์ ไพทอนจะสร้างไฟล์ขึ้นมาให้
wb+ เปิดไฟล์เพื่ออ่านและเขียนแบบ binary ถ้ามีไฟล์อยู่แล้วจะเขียนทับไฟล์เก่า ถ้ายังไม่มีไฟล์ ไพทอนจะสร้างไฟล์ขึ้นมาให้
a เปิดไฟล์ เพื่อต่อท้ายข้อมูล เหมาะสำหรับไฟล์ที่มีข้อมูลอยู่แล้วและต้องการเพิ่ม เนื้อหาลงไป ไม่มีการเขียนทับข้อความเดิม และถ้ายังไม่มีไฟล์ ไพทอนจะสร้างไฟล์ขึ้นมาให้เอง
ab เปิดไฟล์ เพื่อต่อท้ายข้อมูลรูปแบบข้อมูลเป็น binary เหมาะสำหรับไฟล์ที่มีข้อมูลอยู่แล้วและต้องการเพิ่ม เนื้อหาลงไป ไม่มีการเขียนทับข้อความเดิม และถ้ายังไม่มีไฟล์ ไพทอนจะสร้างไฟล์ขึ้นมาให้เอง
a+ เปิดไฟล์เพื่ออ่านและเขียน ต่อท้ายไฟล์
ab+ เปิดไฟล์เพื่ออ่านและเขียน ต่อท้ายไฟล์ ในรูปแบบ binary

การเปิดไฟล์จะใช้คู่กับ ปิดไฟล์เสมอ
รูปแบบหลังจากเปิดไฟล์ขึ้นมาใช้งานแล้ว เราก็ปิดไฟล์ด้วย ฟังก์ชั่น close()
รูปแบบ
fileObject.close()ตัวอย่าง file.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-
l  = 1
f = open('test_file.txt', 'w')
while True:
        print('%d ถ้าจะออกจากโปรแกรมพิมพ์ bye ' %l)
        title = input('%d ป้อนชื่อ :' %l)
        cost = input('%d ป้อนชือเล่น :' %l)
        if title=='bye' or cost=='bye' :
            break
        f.write('%.2d,  %s,  %s \n' %(l, title, cost))
        l = l+1
f.close()

จากตัวอย่างโปรแกรม coding utf8 เป็นการกำหนดว่าไฟล์นี้เราต้องการ coding เป็น utf8 ซึ่งจะใช้งานกับภาษาไทย และภาษาอื่นๆได้
เมื่อรันโปรแกรมจะมีหน้าจอให้เรากรอก ชื่อ และ ชื่อเล่น ขึ้นมาเรื่อยๆ และ โปรแกรมจะเขียนลงไปในไฟล์ ชื่อ test_file.txt ให้ สนกว่าเราจะกรอกชื่อ หรือ ชื่อเล่นเป็น bye
*** ถ้าต้องการดูข้อมูลในไฟล์ ก็สามารถเปิดไฟล์ test_file.txt ด้วยโปรแกรม text editor เช่น notepad ดูได้

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
background-clip กำหนดขนาดพื้นหลังให้ border
โดย jamepiyawat พฤ 15 ส.ค. 2019 6:23 pm บอร์ด CSS Knowledge
0
18
พฤ 15 ส.ค. 2019 6:23 pm โดย jamepiyawat
อยากทราบวิธีการแก้ไขปัญหา ith message 'Parameter "url" for route "m_change_letter_controller" must match "[^/]++" ใน php
โดย Ittichai_chupol พฤ 15 ส.ค. 2019 2:22 pm บอร์ด Programming - PHP
2
46
พฤ 15 ส.ค. 2019 2:34 pm โดย Ittichai_chupol
Q - บันทึกรับชำระผิด เลขรันผิด สามารถแก้ไขรายการยังไงค่ะ
โดย EyePornnipa พฤ 15 ส.ค. 2019 1:52 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
4
18
พฤ 15 ส.ค. 2019 5:53 pm โดย EyePornnipa
ทำไมเพิ่ม Category ในตัว Demo แล้ว Category ไม่ขึ้นครับ
โดย Patipat พฤ 15 ส.ค. 2019 11:47 am บอร์ด Joomla Development
6
63
พฤ 15 ส.ค. 2019 1:01 pm โดย Patipat
สอบถาม ติดตั้ง flask แล้ว erorr ต้องอย่างไรครับ
โดย jirawoot พฤ 15 ส.ค. 2019 11:12 am บอร์ด Programming - C/C++ & java & Python
3
48
พฤ 15 ส.ค. 2019 1:13 pm โดย jirawoot
งานประจำวันที่ 15 สิงหาคม 2562
โดย Patipat พฤ 15 ส.ค. 2019 10:26 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
4
พฤ 15 ส.ค. 2019 7:50 pm โดย Patipat
งานประจำวันที่ 15 กรกฎาคม 2562
โดย jamepiyawat พฤ 15 ส.ค. 2019 10:09 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
11
พฤ 15 ส.ค. 2019 8:03 pm โดย jamepiyawat
งานประจำวันที่ 15 สิงหาคม 2562
โดย EyePornnipa พฤ 15 ส.ค. 2019 10:01 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
1
10
พฤ 15 ส.ค. 2019 7:24 pm โดย EyePornnipa
งานประจำวันที่ 15 สิงหาคม 2562
โดย Auttasti พฤ 15 ส.ค. 2019 10:01 am บอร์ด MT34 - นายอัฐสิทธิ์ รอดถนอม
1
4
พฤ 15 ส.ค. 2019 7:19 pm โดย Auttasti
Re: งานประจำวันที่ 15 สิงหาคม 2562
โดย jirawoot พฤ 15 ส.ค. 2019 9:54 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
5
พฤ 15 ส.ค. 2019 7:36 pm โดย jirawoot
เกษตรตำบล การประมง
โดย Auttasti พ 14 ส.ค. 2019 7:05 pm บอร์ด MT34 - นายอัฐสิทธิ์ รอดถนอม
0
4
พ 14 ส.ค. 2019 7:05 pm โดย Auttasti
ฟีเจอร์ Digital Well Being สามารถปิดแจ้งเตือนเฉพาะบางแอพได้
โดย jamepiyawat พ 14 ส.ค. 2019 6:50 pm บอร์ด Share Knowledge
0
33
พ 14 ส.ค. 2019 6:50 pm โดย jamepiyawat
Q - ถามหน่อยครับโหลดคู่มือมาอ่านแล้ว งงตรง สร้าง Document ใหม่ครับ
โดย Patipat พ 14 ส.ค. 2019 6:23 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
2
47
พ 14 ส.ค. 2019 6:55 pm โดย Patipat
ช่องทางการขอหนังสือรับรองบริษัท
โดย EyePornnipa พ 14 ส.ค. 2019 5:03 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
20
พ 14 ส.ค. 2019 5:03 pm โดย EyePornnipa
สอบถามครับ รูปภาพในเว็บ mindphp เฉพาะรูปแรกขึ้นไปทับตัวอักษร แก้ยังไงครับ
โดย Auttasti พ 14 ส.ค. 2019 3:53 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
2
40
พ 14 ส.ค. 2019 4:21 pm โดย Auttasti
Q - ใช้งาน MDFiles ไม่ได้ครับ
โดย Patipat พ 14 ส.ค. 2019 3:47 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
2
41
พ 14 ส.ค. 2019 4:07 pm โดย Patipat
ทำไงถึงจะเปลี่ยนการอัพโหลดให้มากกว่า 2M ใน joomla ครับ
โดย Anonymous พ 14 ส.ค. 2019 3:25 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
21
พ 14 ส.ค. 2019 3:34 pm โดย mindphp
อยากทราบวิธีการทำให้ ส่วนของ checkbox หายไป เหมือนการการเปลี่ยนขนาดหน้าจอ
โดย Ittichai_chupol พ 14 ส.ค. 2019 3:24 pm บอร์ด HTML CSS
2
39
พ 14 ส.ค. 2019 3:47 pm โดย thatsawan
อยากให้ Modules: Menu แสดงเมนูเป็นแนวยาวครับ
โดย jamepiyawat พ 14 ส.ค. 2019 3:04 pm บอร์ด Joomla Development
4
47
พ 14 ส.ค. 2019 4:18 pm โดย jamepiyawat
สอบถามครับ ทำไมกดเลือกโฟร์เดอร์ที่จะเพิ่มรูปไม่ได้ครับ ในบอร์ด mindphp
โดย chatee supasand พ 14 ส.ค. 2019 2:34 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
2
38
พ 14 ส.ค. 2019 2:54 pm โดย chatee supasand