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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานเสนอราคา - สถาบันวิจัยจุฬาภรณ์
โดย EyePornnipa อ 06 ส.ค. 2019 2:33 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
14
161
ศ 16 ส.ค. 2019 4:42 pm โดย EyePornnipa
สอบถามเรื่องหนังสือรับรองผลงานค่ะ
โดย EyePornnipa อ 06 ส.ค. 2019 2:20 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
95
ส 10 ส.ค. 2019 11:15 am โดย Amp_Audit
Q - ทำอย่างไรให้มีเส้นขีดฆ่าราคาสินค้าเก่า
โดย jamepiyawat อ 06 ส.ค. 2019 12:18 pm บอร์ด Joomla Dev
4
9
อ 06 ส.ค. 2019 6:25 pm โดย jamepiyawat
สอบถามการใช้งาน กล่องข้อความเขียนอีเมล ค่ะ
โดย EyePornnipa อ 06 ส.ค. 2019 12:37 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
65
พ 07 ส.ค. 2019 12:23 pm โดย chatee supasand
บันทึกบัญชีตั้งหนี้เงินกู้ยืมกรรมการ ยังไงค่ะ
โดย EyePornnipa อ 06 ส.ค. 2019 12:17 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
94
ส 10 ส.ค. 2019 10:01 am โดย Amp_Audit
สอบถามครับ อยากเขียนโค้ด ให้ สามารถติดตั้ง font ตามที่เราต้องการ
โดย chatee supasand อ 06 ส.ค. 2019 12:11 pm บอร์ด Programming - C/C++ & java & Python
0
32
อ 06 ส.ค. 2019 12:11 pm โดย chatee supasand
Microsoft ปล่อยของ โชว์ Demo Minecraft Earth ที่งาน Microsoft Inspire 2019
โดย chatee supasand อ 06 ส.ค. 2019 11:56 am บอร์ด Microsoft Office Knowledge & line & Etc
0
52
อ 06 ส.ค. 2019 11:56 am โดย chatee supasand
Q-อยากทราบวิธีทำให้โมดูล MooZiiCart Latest Products แสดงสินค้าเป็นแนวนอนครับ
โดย jamepiyawat อ 06 ส.ค. 2019 10:50 am บอร์ด Joomla Dev
2
8
อ 06 ส.ค. 2019 11:37 am โดย jamepiyawat
งานประจำวันที่ 6 สิงหาคม 2562
โดย chatee supasand อ 06 ส.ค. 2019 10:26 am บอร์ด MT33 - นายชาตรี สุภาแสน
1
4
อ 06 ส.ค. 2019 7:54 pm โดย chatee supasand
งานประจำวันที่ 6 สิงหาคม 2562
โดย Patipat อ 06 ส.ค. 2019 10:15 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
12
อ 06 ส.ค. 2019 8:45 pm โดย Patipat
งานประจำวันที่ 6 สิงหาคม 2562
โดย jirawoot อ 06 ส.ค. 2019 10:10 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
2
12
อ 06 ส.ค. 2019 7:51 pm โดย jirawoot
โครงสร้างเว็บขายของ ของใช้ภายในบ้าน
โดย Auttasti อ 06 ส.ค. 2019 10:08 am บอร์ด MT34 - นายอัฐสิทธิ์ รอดถนอม
0
22
อ 06 ส.ค. 2019 10:08 am โดย Auttasti
งานประจำวันที่ 6 กรกฎาคม 2562
โดย jamepiyawat อ 06 ส.ค. 2019 10:07 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
8
อ 06 ส.ค. 2019 8:45 pm โดย jamepiyawat
งานประจำวันที่ 06 สิงหาคม 2562
โดย EyePornnipa อ 06 ส.ค. 2019 10:05 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
3
48
อ 06 ส.ค. 2019 7:47 pm โดย EyePornnipa
งานประจำวันที่ 6 สิงหาคม 2562
โดย Auttasti อ 06 ส.ค. 2019 9:57 am บอร์ด MT34 - นายอัฐสิทธิ์ รอดถนอม
3
12
พ 07 ส.ค. 2019 9:54 am โดย Auttasti
Google Duo (ดูโอ) สามารถ Video Call ได้ 8 คนแล้ว
โดย jamepiyawat จ 05 ส.ค. 2019 7:26 pm บอร์ด Share Knowledge
0
61
จ 05 ส.ค. 2019 7:26 pm โดย jamepiyawat
ยิ่งเปิดแท็บเยอะยิ่งดูเก่ง ฮ่าๆ
โดย chatee supasand จ 05 ส.ค. 2019 7:15 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
55
จ 05 ส.ค. 2019 7:15 pm โดย chatee supasand
วิธีการเปลี่ยน Password Admin
โดย Auttasti จ 05 ส.ค. 2019 6:59 pm บอร์ด Joomla user Guide Knowledge
0
59
จ 05 ส.ค. 2019 6:59 pm โดย Auttasti
ประเภทของ border
โดย jamepiyawat จ 05 ส.ค. 2019 6:59 pm บอร์ด CSS Knowledge
0
36
จ 05 ส.ค. 2019 6:59 pm โดย jamepiyawat
การออฟไลน์เว็บไซต์ชั่วคราว
โดย Auttasti จ 05 ส.ค. 2019 6:29 pm บอร์ด Joomla user Guide Knowledge
0
45
จ 05 ส.ค. 2019 6:29 pm โดย Auttasti