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

ไพทอนกับการอ่านเขียนไฟล์ เป็นเรื่องง่ายมากๆ โดยไพทอน เตรียมฟังก์ชั่นไว้สำหรับจัดการกับไฟล์ อยู่แล้วโดยเราไม่ต้อง 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 ดูได้

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สามารถคัดแบบ บอจ.3 และ บอจ.4 ทางอินเตอร์เน็ตได้ไหมค่ะ
โดย EyePornnipa ศ 09 ส.ค. 2019 9:28 am บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
4
127
ส 17 ส.ค. 2019 11:00 am โดย Amp_Audit
งานประจำวันที่ 09 สิงหาคม 2562
โดย EyePornnipa ศ 09 ส.ค. 2019 9:19 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
2
32
ศ 09 ส.ค. 2019 7:17 pm โดย EyePornnipa
งานประจำวันที่ 9 สิงหาคม 2562
โดย jirawoot ศ 09 ส.ค. 2019 9:17 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
10
ศ 09 ส.ค. 2019 7:25 pm โดย jirawoot
งานประจำวันที่ 9 กรกฏาคม 2562
โดย jamepiyawat ศ 09 ส.ค. 2019 9:16 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
3
20
ศ 09 ส.ค. 2019 7:41 pm โดย jamepiyawat
งานประจำวันที่ 9 สิงหาคม 2562
โดย Patipat ศ 09 ส.ค. 2019 9:13 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
15
ศ 09 ส.ค. 2019 7:25 pm โดย Patipat
งานประจำวันที่ 9 สิงหาคม 2562
โดย Auttasti ศ 09 ส.ค. 2019 9:09 am บอร์ด MT34 - นายอัฐสิทธิ์ รอดถนอม
1
9
ศ 09 ส.ค. 2019 6:19 pm โดย Auttasti
เมื่อพูดถึงโปรแกรมเมอร์ มีประสบการณ์และไม่มีประสบการณ์
โดย chatee supasand พฤ 08 ส.ค. 2019 7:27 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
86
พฤ 08 ส.ค. 2019 7:27 pm โดย chatee supasand
แอป Google Fit เพิ่ม Dark Theme และเก็บข้อมูลการนอน
โดย jamepiyawat พฤ 08 ส.ค. 2019 7:08 pm บอร์ด Share Knowledge
0
40
พฤ 08 ส.ค. 2019 7:08 pm โดย jamepiyawat
TEST บทความ siamsporttalk เรื่อง กีฬา กาบัดดี้ คืออะไร
โดย jirawoot พฤ 08 ส.ค. 2019 6:58 pm บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
6
พฤ 08 ส.ค. 2019 6:58 pm โดย jirawoot
รหัสไปรษณีย์ใน กรุงเทพมหานคร
โดย jamepiyawat พฤ 08 ส.ค. 2019 6:40 pm บอร์ด M084 - นายปิยวัช เชาว์วิมล
0
4
พฤ 08 ส.ค. 2019 6:40 pm โดย jamepiyawat
สามารถเปลี่ยนคำสั่ง css ได้ด้วย @media
โดย jamepiyawat พฤ 08 ส.ค. 2019 6:24 pm บอร์ด CSS Knowledge
0
33
พฤ 08 ส.ค. 2019 6:24 pm โดย jamepiyawat
เกษตรตำบล อ้อย
โดย Auttasti พฤ 08 ส.ค. 2019 6:09 pm บอร์ด MT34 - นายอัฐสิทธิ์ รอดถนอม
0
13
พฤ 08 ส.ค. 2019 6:09 pm โดย Auttasti
เกษตรตำบล ข้าวโพด
โดย Auttasti พฤ 08 ส.ค. 2019 5:05 pm บอร์ด MT34 - นายอัฐสิทธิ์ รอดถนอม
0
10
พฤ 08 ส.ค. 2019 5:05 pm โดย Auttasti
R - ใส่รายเซ็นในใบเสนอราคา
โดย thatsawan พฤ 08 ส.ค. 2019 4:46 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
1
พฤ 08 ส.ค. 2019 4:46 pm โดย thatsawan
วงจรชีวิตของ webform (กันกระทู้หาย)
โดย jataz2 พฤ 08 ส.ค. 2019 4:23 pm บอร์ด Programming - C/C++ & java & Python
0
40
พฤ 08 ส.ค. 2019 4:23 pm โดย jataz2
Q - ทำไมถึง Download invoice ไม่ได้ครับ
โดย jamepiyawat พฤ 08 ส.ค. 2019 3:58 pm บอร์ด Joomla Dev
0
2
พฤ 08 ส.ค. 2019 3:58 pm โดย jamepiyawat
วิธีการเพิ่มเงือนไข ของ Where เพื่อไม่ให้มีการแสดงโพสที่มีอยู่ในตารางที่กำหนด ใน Even search_get_posts_data
โดย Ittichai_chupol พฤ 08 ส.ค. 2019 3:49 pm บอร์ด PHP Knowledge
0
42
พฤ 08 ส.ค. 2019 3:49 pm โดย Ittichai_chupol
Nissan ได้พัฒนาหุ่นยนต์ กำจัดวัชพืช ออกจากนาข้าวในประเทศ ญี่ปุ่น
โดย chatee supasand พฤ 08 ส.ค. 2019 3:46 pm บอร์ด MT33 - นายชาตรี สุภาแสน
0
9
พฤ 08 ส.ค. 2019 3:46 pm โดย chatee supasand
อยากให้ปุ่มที่อยู่แถวเดียวกับตัวอักษรชิดขวาครับ
โดย jamepiyawat พฤ 08 ส.ค. 2019 2:15 pm บอร์ด HTML CSS
3
79
พฤ 08 ส.ค. 2019 3:34 pm โดย jamepiyawat
วิธีการทำ Content ให้สามารถเปลี่ยนภาษา 2 ภาษาได้ ใน Joomla
โดย Auttasti พฤ 08 ส.ค. 2019 1:39 pm บอร์ด Joomla user Guide Knowledge
0
49
พฤ 08 ส.ค. 2019 1:39 pm โดย Auttasti