← Kembali ke kursus
Pelajaran kursus · Python
Pelajaran 33

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`.