0Pricing
Python Academy · บทเรียน

การเขียนและเพิ่มข้อมูลในไฟล์

เขียนข้อมูลใหม่และเพิ่มข้อมูลต่อท้ายไฟล์ที่มีอยู่อย่างปลอดภัย

การเขียนและเพิ่มข้อมูลในไฟล์ เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

บทนำ

การเขียนและการต่อท้ายไฟล์ช่วยให้โปรแกรมเก็บข้อมูลไว้ใช้ได้ระหว่างการทำงานแต่ละครั้ง

โหมดเขียน 'w'

open('out.txt', 'w') จะสร้างไฟล์ขึ้นมา หรือทำให้ไฟล์ว่างหากมีอยู่แล้ว f.write('Hello') จะเขียนสตริงลงในไฟล์
# with open('out.txt', 'w') as f:
#     f.write('Hello, World!')
print('write mode demo')

writelines()

f.writelines(list_of_strings) จะเขียนสตริงแต่ละรายการในรายการลงไฟล์ โดยจะไม่เพิ่มอักขระขึ้นบรรทัดใหม่ให้โดยอัตโนมัติ
lines = ['line1\n', 'line2\n']
# with open('out.txt', 'w') as f:
#     f.writelines(lines)
print('writelines demo')

โหมดต่อท้าย 'a'

open('log.txt', 'a') จะเปิดไฟล์สำหรับต่อท้าย โดยเพิ่มข้อมูลใหม่ที่ท้ายไฟล์โดยไม่ลบเนื้อหาเดิม
# with open('log.txt', 'a') as f:
#     f.write('new entry\n')
print('append mode demo')

การขึ้นบรรทัดใหม่ใน write()

write() ไม่เพิ่มการขึ้นบรรทัดใหม่โดยอัตโนมัติ คุณต้องใส่ \n เอง: f.write('line\n')
# with open('out.txt', 'w') as f:
#     f.write('first line\n')
#     f.write('second line\n')
print('newline demo')

โหมดอ่านและเขียน 'r+'

open(f,'r+') เปิดไฟล์สำหรับทั้งการอ่านและการเขียน ตัวชี้ตำแหน่งจะเริ่มที่ต้นไฟล์ — การเขียนจะ OVERWRITE เนื้อหาเดิม
# with open('out.txt', 'r+') as f:
#     f.seek(0, 2)  # go to end
#     f.write('appended')
print('r+ demo')

การล้างบัฟเฟอร์

f.flush() บังคับให้ข้อมูลในบัฟเฟอร์ถูกเขียนลงดิสก์ มีประโยชน์สำหรับไฟล์บันทึกที่ต้องการเอาต์พุตแบบเรียลไทม์
# with open('log.txt', 'a') as f:
#     f.write('event\n')
#     f.flush()
print('flush demo')

print() ไปยังไฟล์

print('text', file=f) เขียนลงไฟล์โดยใช้การจัดรูปแบบของ print ซึ่งจะเพิ่มการขึ้นบรรทัดใหม่ให้ด้วย เป็นทางเลือกที่สะดวกแทน write()
# with open('out.txt', 'w') as f:
#     print('Hello', file=f)
print('print-to-file demo')

รูปแบบการเขียนแบบอะตอมิก

เขียนลงไฟล์ชั่วคราวก่อน แล้วจึงเปลี่ยนชื่อเป็นเส้นทางปลายทาง วิธีนี้ป้องกันการเขียนไม่ครบถ้วนจนทำให้ไฟล์เป้าหมายเสียหาย
import tempfile, os
# with tempfile.NamedTemporaryFile('w', delete=False) as f:
#     f.write(data); tmp = f.name
# os.replace(tmp, 'out.txt')
print('atomic write demo')

JSON ไปยังไฟล์

import json; json.dump(obj, f, indent=2) แปลงข้อมูล Python เป็นไฟล์ JSON อย่างเป็นระเบียบ
import json
data = {'name': 'Alice', 'age': 30}
# with open('data.json', 'w') as f:
#     json.dump(data, f, indent=2)
print(json.dumps(data, indent=2))

โหมดเขียนข้อมูลไบนารี 'wb'

open('img.bin', 'wb') เปิดไฟล์สำหรับการเขียนข้อมูลไบนารี ให้เขียนออบเจ็กต์ bytes: f.write(b'\x00\xff')
# with open('out.bin', 'wb') as f:
#     f.write(bytes([0, 255, 128]))
print('binary write demo')

ตรวจสอบความเข้าใจ

จะเกิดอะไรขึ้นกับไฟล์ที่มีอยู่แล้วเมื่อเปิดด้วยโหมด 'w'?

สรุป

โหมด 'w' จะตัดเนื้อหาเดิมออก 'a' จะเขียนต่อท้าย และ 'r+' จะอ่านและเขียน ใช้ write() พร้อมระบุ \n อย่างชัดเจน print(file=f) เป็นทางเลือกที่สะดวก และควรล้างบัฟเฟอร์สำหรับบันทึกแบบเรียลไทม์

ไปต่อ

ทำได้ดีมาก! ไปยังบทเรียนถัดไปเพื่อพัฒนาทักษะต่อไป

คำถามที่พบบ่อย

บทเรียน “การเขียนและเพิ่มข้อมูลในไฟล์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเขียนและเพิ่มข้อมูลในไฟล์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเขียนและเพิ่มข้อมูลในไฟล์”

เขียนข้อมูลใหม่และเพิ่มข้อมูลต่อท้ายไฟล์ที่มีอยู่อย่างปลอดภัย คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การเขียนและเพิ่มข้อมูลในไฟล์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม

ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การเปิดและอ่านไฟล์
  2. การเขียนและเพิ่มข้อมูลในไฟล์
  3. การใช้คำสั่ง with กับไฟล์
  4. การทำงานกับเส้นทางไฟล์ด้วย pathlib
← กลับไปที่ Python Academy