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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ความเจ็บนี้ไม่มีเสียง
โดย noppadonsk ศ 06 มี.ค. 2020 4:49 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
511
ศ 06 มี.ค. 2020 4:49 pm โดย noppadonsk
การเก็บ log เมื่อมีการ แยก รวม ที่ดิน
โดย blackbullx16 ศ 06 มี.ค. 2020 4:47 pm บอร์ด SQL - Database
4
745
ศ 27 มี.ค. 2020 4:11 pm โดย blackbullx16
วิธีการการเขียน css เพื่อปรีบความกว้างในการสแดงประโยค
โดย Ittichai_chupol ศ 06 มี.ค. 2020 1:40 pm บอร์ด CSS Knowledge
0
275
ศ 06 มี.ค. 2020 1:40 pm โดย Ittichai_chupol
วิธีการการเขียน css เพื่อปรีบความกว้างในการสแดงประโยค
โดย Ittichai_chupol ศ 06 มี.ค. 2020 10:34 am บอร์ด CSS Knowledge
1
733
ศ 06 มี.ค. 2020 5:17 pm โดย Riyaaa
ทิป การใช้งานโปรแกรมนาโน nano บน Linux ทั้ง Ubuntu CentOS ไปบรรทัดสุดท้ายของ ไฟล์
โดย mindphp ศ 06 มี.ค. 2020 3:08 am บอร์ด Linux - Web Server
0
316
ศ 06 มี.ค. 2020 3:08 am โดย mindphp
อยากทราบวิธีการการแก้ไขไม่ให้ตัวอักษรอยู่ภายใต้ปุ่ม
โดย Ittichai_chupol พฤ 05 มี.ค. 2020 6:47 pm บอร์ด HTML CSS
1
362
พฤ 05 มี.ค. 2020 6:51 pm โดย thatsawan
เรียกให้ดูหรูหรา
โดย noppadonsk พฤ 05 มี.ค. 2020 6:31 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
160
พฤ 05 มี.ค. 2020 6:31 pm โดย noppadonsk
ประสบการณ์เรื่องที่พัก เสียเงินค่าเช่าไปวันๆ
โดย jataz2 พฤ 05 มี.ค. 2020 5:52 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
117
พฤ 05 มี.ค. 2020 5:52 pm โดย jataz2
เรียกใช้งาน pip ใน python 3.7 บน ubuntu ไม่ได้ครับ
โดย chatee supasand พฤ 05 มี.ค. 2020 10:49 am บอร์ด Programming - C/C++ & java & Python
1
469
พฤ 05 มี.ค. 2020 11:41 am โดย mindphp
สอบถามเรื่องพัฒนาเว็บไซต์โดยใช้ PHP ช่วยเข้ามาตอบหรืออธิบายขั้นตอนการทำงานให้ฟังหน่อยได้ไหมครับตอนนี้ไปไม่ถูกแล้ว
โดย gangger00 อ 03 มี.ค. 2020 1:03 pm บอร์ด Programming - PHP
0
150
อ 03 มี.ค. 2020 1:03 pm โดย gangger00
แก้ปัญหา gnutls_handshake() failed: Decrypt error ติดตั้ง packet ใหม่บน Ubuntu 14
โดย mindphp จ 02 มี.ค. 2020 5:05 pm บอร์ด Linux - Web Server
0
353
จ 02 มี.ค. 2020 5:05 pm โดย mindphp
การแก้ปัญหาไวรัส
โดย noppadonsk จ 02 มี.ค. 2020 4:42 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
126
จ 02 มี.ค. 2020 4:42 pm โดย noppadonsk
สอบถาม อยากไม่ให้หน้ากระดาษแบ่งหน้าต้องทำอย่างไรครับ ใน wkhtmltopdf
โดย jirawoot จ 02 มี.ค. 2020 11:56 am บอร์ด Programming - C/C++ & java & Python
2
846
พ 04 มี.ค. 2020 10:24 am โดย jirawoot
วิธีการสร้างนึกค่า value มาจาก input โดยใช้ javascript ในกรณีที่ไม่มี class กับ id
โดย Ittichai_chupol ศ 28 ก.พ. 2020 4:40 pm บอร์ด Jquery & Ajax Knowledge
0
1137
ศ 28 ก.พ. 2020 4:40 pm โดย Ittichai_chupol
รีวิวเปรียบเทียบ เครื่องปริ้นเล็ก Printer Slip Better BT5890T Vs Printer Slip VENUS PRT-058
โดย chatee supasand ศ 28 ก.พ. 2020 4:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
950
ศ 28 ก.พ. 2020 4:20 pm โดย chatee supasand
แกกล้าดียังไง
โดย noppadonsk ศ 28 ก.พ. 2020 10:06 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
189
ศ 28 ก.พ. 2020 10:06 am โดย noppadonsk
ข้อดีของ เว็บบอร์ด คือจับตัว IO ได้ง่าย
โดย mindphp พฤ 27 ก.พ. 2020 8:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
212
พฤ 27 ก.พ. 2020 8:12 pm โดย mindphp
อยากทราบวิธีการแก้ไขปัญหา Uncaught TypeError: Cannot read property '0' of undefined ใน javascript
โดย Ittichai_chupol พฤ 27 ก.พ. 2020 8:04 pm บอร์ด Programming - PHP
2
492
ศ 06 มี.ค. 2020 4:18 pm โดย tanvishah
การเขียนโค้ดมีความเสี่ยง
โดย noppadonsk พฤ 27 ก.พ. 2020 6:19 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
178
พฤ 27 ก.พ. 2020 6:19 pm โดย noppadonsk
อยากทราบวิธีการ import ชนิดข้อมูลที่เป็น date ใน Excel มาเป็น text เพื่อบันทึกลงในฐานข้อมูล
โดย Ittichai_chupol พฤ 27 ก.พ. 2020 2:55 pm บอร์ด Programming - PHP
1
201
พฤ 27 ก.พ. 2020 2:57 pm โดย thatsawan