การอ่านและเขียนไฟล์
ใช้ read_text และ write_text
การอ่านและเขียนไฟล์ เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
การรับส่งข้อมูลไฟล์ด้วยแนวทางของไลบรารีจัดการเส้นทาง
เส้นทางจากไลบรารีจัดการเส้นทางสามารถอ่านและเขียนไฟล์ได้โดยตรง โดยไม่ต้องเรียก open() อย่างชัดเจนสำหรับกรณีง่าย ๆ เมธอด read_text, write_text, read_bytes และ write_bytes รองรับการใช้งานทั่วไป
write_text
write_text() เขียนสตริงลงในไฟล์ โดยสร้างไฟล์หากยังไม่มี และแทนที่เนื้อหาเดิมทั้งหมด เมธอดนี้คืนค่าจำนวนอักขระที่เขียน
from pathlib import Path
p = Path('greeting.txt')
n = p.write_text('Hello, pathlib!')
print('wrote', n, 'characters')read_text
read_text() เปิดไฟล์ อ่านเนื้อหาทั้งหมด แล้วปิดไฟล์ โดยคืนค่าเนื้อหาทั้งหมดเป็นสตริง
from pathlib import Path
p = Path('greeting.txt')
p.write_text('Hello, pathlib!')
content = p.read_text()
print(content)ไม่ต้องปิดไฟล์ด้วยตนเอง
ตัวช่วยเหล่านี้เปิดและปิดไฟล์ให้คุณเอง คุณจึงไม่ต้องเขียนโค้ดประกอบอย่างบล็อก with open(...) สำหรับการอ่านหรือเขียนแบบครั้งเดียว
from pathlib import Path
p = Path('notes.txt')
p.write_text('line one')
print(p.read_text())การระบุการเข้ารหัส
ส่งอาร์กิวเมนต์ encoding เพื่อควบคุมการเข้ารหัสข้อความ การเข้ารหัสยูทีเอฟ-8 เป็นตัวเลือกที่ปลอดภัยและระบุอย่างชัดเจน จึงพกพาไปใช้บนระบบต่าง ๆ ได้ดี
from pathlib import Path
p = Path('uni.txt')
p.write_text('cafe resume', encoding='utf-8')
print(p.read_text(encoding='utf-8'))การทำงานกับไบต์
สำหรับข้อมูลไบนารี ให้ใช้ write_bytes() และ read_bytes() ซึ่งทำงานกับออบเจ็กต์ bytes แทนสตริง
from pathlib import Path
p = Path('data.bin')
p.write_bytes(b'\x00\x01\x02')
print(p.read_bytes())การต่อท้ายและโหมดขั้นสูง
ตัวช่วยแบบครั้งเดียวจะแทนที่เนื้อหาเดิมเสมอ หากต้องการต่อท้ายหรือประมวลผลแบบสตรีม ให้เรียก open() บนออบเจ็กต์ Path เพื่อรับออบเจ็กต์ไฟล์ทั่วไปที่ใช้ในบล็อก with ได้
from pathlib import Path
p = Path('log.txt')
p.write_text('start\n')
with p.open('a') as f:
f.write('more\n')
print(p.read_text())การอ่านทีละบรรทัด
อ่านข้อความทั้งหมดแล้วแยกเป็นบรรทัด หรือเปิดเส้นทางแล้ววนซ้ำไปทีละรายการ สำหรับไฟล์ขนาดเล็ก การแยกผลลัพธ์จาก read_text() เป็นวิธีที่ง่ายที่สุด
from pathlib import Path
p = Path('multi.txt')
p.write_text('a\nb\nc\n')
for line in p.read_text().splitlines():
print('line:', line)การสร้างไดเรกทอรีแม่
การเขียนจะล้มเหลวหากไม่มีไดเรกทอรีแม่ ให้ใช้ mkdir(parents=True, exist_ok=True) กับไดเรกทอรีแม่ก่อน เพื่อสร้างโครงสร้างโฟลเดอร์
from pathlib import Path
p = Path('out/sub/file.txt')
p.parent.mkdir(parents=True, exist_ok=True)
p.write_text('done')
print(p.read_text())การลบไฟล์
ลบไฟล์ด้วย unlink() การส่งค่า missing_ok=True จะช่วยหลีกเลี่ยงข้อผิดพลาดหากไฟล์ถูกลบไปแล้ว
from pathlib import Path
p = Path('temp.txt')
p.write_text('bye')
print(p.exists())
p.unlink(missing_ok=True)
print(p.exists())อ่าน แปลง แล้วเขียน
รูปแบบการทำงานทั่วไปคืออ่านไฟล์ แปลงข้อความ แล้วเขียนกลับลงไป ไลบรารีจัดการเส้นทางทำให้การทำงานนี้เสร็จได้อย่างเป็นระเบียบในสามบรรทัด
from pathlib import Path
p = Path('caps.txt')
p.write_text('hello world')
p.write_text(p.read_text().upper())
print(p.read_text())ตรวจสอบอย่างรวดเร็ว
Path('a.txt').write_text('hi') จะทำอะไรหากไฟล์มีอยู่แล้ว?
สรุปทบทวน
คุณได้เรียนรู้วิธีอ่านและเขียนไฟล์ด้วยไลบรารีจัดการเส้นทาง
write_text/read_textใช้รับส่งข้อมูลสตริงทั้งไฟล์write_bytes/read_bytesใช้จัดการข้อมูลไบนารี- ใช้
open()สำหรับการต่อท้ายหรือการประมวลผลแบบสตรีม - สร้างไดเรกทอรีแม่ด้วย
mkdirและลบไฟล์ด้วยunlink
คำถามที่พบบ่อย
บทเรียน “การอ่านและเขียนไฟล์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การอ่านและเขียนไฟล์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การอ่านและเขียนไฟล์”
ใช้ read_text และ write_text คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การอ่านและเขียนไฟล์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ออบเจกต์ Path
- การอ่านและเขียนไฟล์
- การใช้โกลบและการวนซ้ำ
- การจัดการพาธ