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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ลืมรหัส เบอร์เก่าเปลี่ยน ใช้งานhotmailไม่ได้
โดย Anonymous ส 14 ธ.ค. 2019 11:11 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
13
ส 14 ธ.ค. 2019 11:11 pm โดย บุคคลทั่วไป
วิธีการดึงข้อมูลปลั็กอินจาก field ที่ผู้ใช้กรอกในไฟล์ xml มาในไฟล์ php
โดย jamepiyawat ส 14 ธ.ค. 2019 5:56 pm บอร์ด Joomla Developing Knowledge
0
11
ส 14 ธ.ค. 2019 5:56 pm โดย jamepiyawat
VDO - MDfiles Version 1.3.46
โดย numtan5839 ส 14 ธ.ค. 2019 5:46 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
12
ส 14 ธ.ค. 2019 6:37 pm โดย numtan5839
สอบถามการเปลี่ยน templete บนเว็บ minndphp หน่อยค่ะ
โดย nnamfon.26 ส 14 ธ.ค. 2019 1:39 pm บอร์ด MindPHP News & Feedback
2
25
ส 14 ธ.ค. 2019 1:48 pm โดย nnamfon.26
VDO - Calculation program after including VAT
โดย numtan5839 ส 14 ธ.ค. 2019 10:27 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
9
ส 14 ธ.ค. 2019 11:09 am โดย thatsawan
งานประจำวันที่ 14 ธันวาคม 2562
โดย numtan5839 ส 14 ธ.ค. 2019 10:13 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
7
ส 14 ธ.ค. 2019 7:01 pm โดย numtan5839
วิธีการกำหนด css ให้กับ คลาสแบบ !important โดยใช้งาน JQuery
โดย Ittichai_chupol ศ 13 ธ.ค. 2019 5:53 pm บอร์ด Jquery & Ajax Knowledge
0
17
ศ 13 ธ.ค. 2019 5:53 pm โดย Ittichai_chupol
โปรแกรมคำนวณภาษีมูลค่าเพิ่มหลังรวม VAT
โดย prmindphp ศ 13 ธ.ค. 2019 5:31 pm บอร์ด MindPHP News & Feedback
0
16
ศ 13 ธ.ค. 2019 5:31 pm โดย prmindphp
กาลครั้งหนึ่ง ของโปรแกรมเมอร์ฝึกหัด ???
โดย chatee supasand ศ 13 ธ.ค. 2019 4:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
21
ศ 13 ธ.ค. 2019 4:03 pm โดย chatee supasand
โปรแกรมเมอร์ คนแรกของโลก คือใคร?
โดย noppadonsk ศ 13 ธ.ค. 2019 3:18 pm บอร์ด Share Knowledge
0
21
ศ 13 ธ.ค. 2019 3:18 pm โดย noppadonsk
RGB กับ CMYK ให้สีแตกต่างกันอย่างไร
โดย noppadonsk ศ 13 ธ.ค. 2019 3:01 pm บอร์ด Share Knowledge
0
9
ศ 13 ธ.ค. 2019 3:01 pm โดย noppadonsk
SECUMAIL เทคโนโลยีป้องกันการ Hack อีเมล
โดย noppadonsk ศ 13 ธ.ค. 2019 2:32 pm บอร์ด Share Knowledge
0
20
ศ 13 ธ.ค. 2019 2:32 pm โดย noppadonsk
VDO - Introducing to Plugin Content MChangelog
โดย numtan5839 ศ 13 ธ.ค. 2019 1:33 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
23
ส 14 ธ.ค. 2019 2:55 pm โดย mindphp
Teamviewer 15 ใช้งาน TeamViewer Pilot ได้แล้วบน PC
โดย chatee supasand ศ 13 ธ.ค. 2019 12:09 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
21
ศ 13 ธ.ค. 2019 1:38 pm โดย rihankhan
VDO โปรแกรมคำนวณภาษีมูลค่าเพิ่มหลังรวม VAT
โดย numtan5839 ศ 13 ธ.ค. 2019 10:05 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
4
22
ส 14 ธ.ค. 2019 5:42 pm โดย mindphp
icon ธงภาษาไม่แสดง
โดย numtan5839 ศ 13 ธ.ค. 2019 9:48 am บอร์ด MindPHP News & Feedback
0
28
ศ 13 ธ.ค. 2019 9:48 am โดย numtan5839
งานประจำวันที่ 13 ธันวาคม 2562
โดย numtan5839 ศ 13 ธ.ค. 2019 9:27 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
26
ศ 13 ธ.ค. 2019 7:33 pm โดย numtan5839
งานประจำวันที่ 13 ธันวาคม 2562
โดย noppadonsk ศ 13 ธ.ค. 2019 9:03 am บอร์ด MT36 - นายนพดล สุชญากูล
14
49
ส 14 ธ.ค. 2019 11:57 am โดย jamepiyawat
Plugin Content MChangeLog ใน Joomla เป็นตัวช่วยให้ เพิ่มเนื้อหาที่มีการเปลี่ยนแปลงแบบ เพิ่มเนื้อหา อัพเดด fix ปัญหา
โดย prmindphp พฤ 12 ธ.ค. 2019 6:46 pm บอร์ด MindPHP News & Feedback
0
39
พฤ 12 ธ.ค. 2019 6:46 pm โดย prmindphp
วิธีการเขียน SQL สำหรับเปลี่ยน Collation เพื่อปรับเปลี่ยนการรองรับภาษา ใน ตารางฐานข้อมูล
โดย Ittichai_chupol พฤ 12 ธ.ค. 2019 4:17 pm บอร์ด SQL Knowledge
0
22
พฤ 12 ธ.ค. 2019 4:17 pm โดย Ittichai_chupol