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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สิ่งสำคัญที่คุ้มครองชีวิตให้ปลอดภัย เงินเก็บสำรองฉุกเฉิน
โดย medalezga พฤ 21 พฤษภาคม 2020 4:45 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
34
พฤ 21 พฤษภาคม 2020 4:45 pm โดย medalezga
B - หลังจากสมัคร mapp เข้าระบบครั้งเเรก มี Icon แสดงแปลกๆ ยุ
โดย thatsawan พฤ 21 พฤษภาคม 2020 4:45 pm บอร์ด Odoojob.com - Tester
0
1
พฤ 21 พฤษภาคม 2020 4:45 pm โดย thatsawan
R - [email Formart-mdsoft] หลังจากสมัครผ่าน mapp "แจ้งข้อมูลการเข้าระบบของเว็บไซต์ OdooJob"
โดย thatsawan พฤ 21 พฤษภาคม 2020 4:42 pm บอร์ด Odoojob.com - Manual & Content
0
4
พฤ 21 พฤษภาคม 2020 4:42 pm โดย thatsawan
B - ถ้าเคยสมัครงานไปเเล้ว รอบ 2 ใช้ เมลเดิมสมัคร ระบบจะไม่ส่งเมล User มาเเละใบบอร์ดจะไม่เพิ่มลักษณะงานมาใหม่ให้
โดย thatsawan พฤ 21 พฤษภาคม 2020 4:16 pm บอร์ด Odoojob.com - Tester
0
1
พฤ 21 พฤษภาคม 2020 4:16 pm โดย thatsawan
การกำหนดเลเวลของวัสดุในระบบ ERP เพื่อการใช้งาน
โดย sirirat พฤ 21 พฤษภาคม 2020 3:41 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
25
พฤ 21 พฤษภาคม 2020 3:41 pm โดย sirirat
การผูก Role เข้ากับ User เพื่อกำหนดสิทธิ์การมองเห็น
โดย sirirat พฤ 21 พฤษภาคม 2020 2:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
33
พฤ 21 พฤษภาคม 2020 2:53 pm โดย sirirat
R - Option ตัวเลือก Industrials
โดย thatsawan พฤ 21 พฤษภาคม 2020 1:01 pm บอร์ด Odoojob.com - Manual & Content
0
4
พฤ 21 พฤษภาคม 2020 1:01 pm โดย thatsawan
เจอปัญหา GitLab Error 500 เฉพาะ user
โดย mindphp พฤ 21 พฤษภาคม 2020 1:01 pm บอร์ด Linux - Web Server
0
254
พฤ 21 พฤษภาคม 2020 1:01 pm โดย mindphp
R - Option ตัวเลือก ตำแหน่งที่ตั้ง
โดย thatsawan พฤ 21 พฤษภาคม 2020 1:00 pm บอร์ด Odoojob.com - Manual & Content
0
2
พฤ 21 พฤษภาคม 2020 1:00 pm โดย thatsawan
R - Option ตัวเลือก หมวดหมู่
โดย thatsawan พฤ 21 พฤษภาคม 2020 1:00 pm บอร์ด Odoojob.com - Manual & Content
0
1
พฤ 21 พฤษภาคม 2020 1:00 pm โดย thatsawan
R - Option ตัวเลือก การศึกษา
โดย thatsawan พฤ 21 พฤษภาคม 2020 1:00 pm บอร์ด Odoojob.com - Manual & Content
0
1
พฤ 21 พฤษภาคม 2020 1:00 pm โดย thatsawan
R - Option ตัวเลือก สวัสดิการ
โดย thatsawan พฤ 21 พฤษภาคม 2020 1:00 pm บอร์ด Odoojob.com - Manual & Content
0
1
พฤ 21 พฤษภาคม 2020 1:00 pm โดย thatsawan
R - Option ตัวเลือก ประเภทการจ้าง
โดย thatsawan พฤ 21 พฤษภาคม 2020 12:59 pm บอร์ด Odoojob.com - Manual & Content
0
1
พฤ 21 พฤษภาคม 2020 12:59 pm โดย thatsawan
ERP กับการขอเบิกเครื่องมือมาใช้จากสโตร์
โดย sirirat พฤ 21 พฤษภาคม 2020 12:58 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
13
พฤ 21 พฤษภาคม 2020 12:58 pm โดย sirirat
R - Option ตัวเลือก ประสบการณ์
โดย thatsawan พฤ 21 พฤษภาคม 2020 12:53 pm บอร์ด Odoojob.com - Manual & Content
0
2
พฤ 21 พฤษภาคม 2020 12:53 pm โดย thatsawan
R - Option ตัวเลือก เงินเดือน
โดย thatsawan พฤ 21 พฤษภาคม 2020 12:53 pm บอร์ด Odoojob.com - Manual & Content
0
1
พฤ 21 พฤษภาคม 2020 12:53 pm โดย thatsawan
การจัดการภาษีมูลค่าเพิ่มเพื่อนำส่งในระบบ ERP
โดย sirirat พฤ 21 พฤษภาคม 2020 12:00 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
14
พฤ 21 พฤษภาคม 2020 12:00 pm โดย sirirat
การตั้งหนี้จากรายการซื้อวัสดุอุปกรณ์ในระบบ ERP
โดย sirirat พฤ 21 พฤษภาคม 2020 11:00 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
15
พฤ 21 พฤษภาคม 2020 11:00 am โดย sirirat
งานประจำวันที่ 21 พฤษภาคม 2563
โดย sirirat พฤ 21 พฤษภาคม 2020 10:08 am บอร์ด M102 - ศิริรัตน์ ทิพย์น้อย
4
22
พฤ 21 พฤษภาคม 2020 8:45 pm โดย thatsawan
R - รูปแบบชื่อที่ใช้ แสดง และ subject ของ E-mail แต่ละฉนับ
โดย mindphp พฤ 21 พฤษภาคม 2020 1:53 am บอร์ด OdooJob.com - Developer
0
1
พฤ 21 พฤษภาคม 2020 1:53 am โดย mindphp