File I/O
Baca dan tulis berkas dengan with open.
Pahami konsepnya
Buka berkas dengan open(nama, mode) — mode "r" baca, "w" tulis (timpa), "a" tambah di akhir, "r+" baca+tulis. Cara modern: with open("data.txt") as f: — with otomatis menutup berkas saat blok selesai, apa pun yang terjadi (termasuk error). Tanpa with, f.close() wajib manual dan mudah terlupa.
Membaca: f.read() seluruh isi sebagai string, f.readlines() list per baris, atau for baris in f: iterasi hemat memori. Menulis: f.write(teks) — TANPA baris baru otomatis, tambahkan \n sendiri.
Modul os untuk direktori: os.listdir("."), os.makedirs("a/b/c", exist_ok=True) membuat bertingkat, os.path.join() merangkai path lintas platform. Untuk operasi berkas tingkat tinggi, pathlib.Path adalah alternatif modern berbasis objek.
Coba contoh kode
# tulis
with open("catatan.txt", "w") as f:
f.write("baris pertama\n")
f.write("baris kedua\n")
# baca per baris
with open("catatan.txt", "r") as f:
for i, baris in enumerate(f, 1):
print(f"{i}: {baris.strip()}")
# tambah di akhir
with open("catatan.txt", "a") as f:
f.write("baris ketiga\n")
import os
print(os.listdir("."))with menjamin berkas tertutup otomatis — tanpa perlu f.close() manual. Mode "w" menimpa berkas lama; "a" menambah di akhir tanpa menyentuh isi sebelumnya. enumerate(f, 1) menomori baris mulai dari 1.
Latihan singkat
Uji: tulis 2 baris ke catatan.txt, baca ulang, cetak jumlah — harus `2`.