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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามวิธีการลงไดฟ์เวอร์ Wifi บนเครื่อง Ubuntu 14.04 LST หน่อยครับ
โดย tatiya อ 19 มี.ค. 2019 8:46 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
3
อ 19 มี.ค. 2019 8:46 pm โดย tatiya
ไปเที่ยวออสเตรเลียกัน
โดย สริญญา สมสา อ 19 มี.ค. 2019 5:53 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
อ 19 มี.ค. 2019 5:53 pm โดย สริญญา สมสา
การคิดค่าไฟฟ้าในบ้านเรือน
โดย สริญญา สมสา อ 19 มี.ค. 2019 4:48 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
4
อ 19 มี.ค. 2019 4:48 pm โดย สริญญา สมสา
ก่อนสร้างเว็บต้องรู้จัก Domain
โดย napharat079 อ 19 มี.ค. 2019 3:58 pm บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
0
7
อ 19 มี.ค. 2019 3:58 pm โดย napharat079
โปรแกรมรับค่าอายุ
โดย napharat079 อ 19 มี.ค. 2019 3:29 pm บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
0
5
อ 19 มี.ค. 2019 3:29 pm โดย napharat079
วิธีลดความอ้วนสำหรับคนขี้เกียจ
โดย สริญญา สมสา อ 19 มี.ค. 2019 3:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
4
อ 19 มี.ค. 2019 3:20 pm โดย สริญญา สมสา
ประโยชน์เกี่ยวกับทุเรียน
โดย สริญญา สมสา อ 19 มี.ค. 2019 2:34 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
5
อ 19 มี.ค. 2019 2:34 pm โดย สริญญา สมสา
เริ่มต้นเขียนโปรแกรมสูตรคูณง่ายๆ ด้วยคำสั่ง for
โดย napharat079 อ 19 มี.ค. 2019 2:09 pm บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
0
6
อ 19 มี.ค. 2019 2:09 pm โดย napharat079
เริ่มต้นเขียนโปรแกรมสูตรคูณง่ายๆ ด้วยคำสั่ง do while
โดย napharat079 อ 19 มี.ค. 2019 1:39 pm บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
0
7
อ 19 มี.ค. 2019 1:39 pm โดย napharat079
การทำเกี๊ยวไข่
โดย สริญญา สมสา อ 19 มี.ค. 2019 12:08 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
4
อ 19 มี.ค. 2019 12:08 pm โดย สริญญา สมสา
เริ่มต้นเขียนโปรแกรมสูตรคูณง่ายๆ ด้วยคำสั่ง While
โดย napharat079 อ 19 มี.ค. 2019 11:43 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
0
10
อ 19 มี.ค. 2019 11:43 am โดย napharat079
วิธีการคอมเมนต์ในภาษา C++ ที่โปรแกรมเมอร์ต้องรู้
โดย napharat079 อ 19 มี.ค. 2019 11:39 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
0
12
อ 19 มี.ค. 2019 11:39 am โดย napharat079
เกาะไข่
โดย สริญญา สมสา อ 19 มี.ค. 2019 11:10 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
6
อ 19 มี.ค. 2019 11:10 am โดย สริญญา สมสา
งานประจำวันที่ 19 มีนาคม 2562
โดย napharat079 อ 19 มี.ค. 2019 9:54 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
1
10
อ 19 มี.ค. 2019 7:11 pm โดย napharat079
งานประจำวันที่ 19 มีนาคม 2562
โดย Four อ 19 มี.ค. 2019 9:39 am บอร์ด M077 - อิษยา งามสอาด
1
3
อ 19 มี.ค. 2019 6:46 pm โดย Four
งานประจำวันที่ 19 มีนาคม 2562
โดย สริญญา สมสา อ 19 มี.ค. 2019 9:30 am บอร์ด MT32 - นางสาวสริญญา สมสา
1
5
อ 19 มี.ค. 2019 10:14 am โดย สริญญา สมสา
สอบถามครับ ผมลง ubuntu 14.04 แล้วต่อเน็ตจากสาย LAN ไม่ได้
โดย tatiya จ 18 มี.ค. 2019 10:05 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
15
จ 18 มี.ค. 2019 10:36 pm โดย tatiya
เเจกสูตรไข่ม้วนชีส
โดย สริญญา สมสา จ 18 มี.ค. 2019 5:34 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
17
จ 18 มี.ค. 2019 5:34 pm โดย สริญญา สมสา
วิธีการทำทับทิมกรอบ
โดย สริญญา สมสา จ 18 มี.ค. 2019 5:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
จ 18 มี.ค. 2019 5:03 pm โดย สริญญา สมสา
คำนวณค่าเสื่อมราคายังไคะ
โดย kulanan2535 จ 18 มี.ค. 2019 4:49 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
11
จ 18 มี.ค. 2019 4:49 pm โดย kulanan2535