Program yang Tangguh · Pelajaran 9 dari 11

Membaca dan menulis file

9 menit baca · BelajarCode

Variabel hilang begitu program selesai. Supaya data bertahan, simpan ke file.

Menulis file

Python
1with open("catatan.txt", "w", encoding="utf-8") as f:2    f.write("Hari 1: belajar dictionary\n")3    f.write("Hari 2: belajar file\n")45with open("catatan.txt", "a", encoding="utf-8") as f:6    f.write("Hari 3: proyek buku nilai\n")78with open("catatan.txt", encoding="utf-8") as f:9    print(f.read())
Keluaran
Hari 1: belajar dictionary
Hari 2: belajar file
Hari 3: proyek buku nilai
Mode membuka file
ModeArtinya
"r"Membaca (bawaan). Error jika file tidak ada
"w"Menulis. Isi lama dihapus, file dibuat jika belum ada
"a"Menambah di akhir file tanpa menghapus isi lama

Pernyataan with otomatis menutup file setelah bloknya selesai, bahkan jika terjadi error. Selalu pakai with saat bekerja dengan file. Parameter encoding="utf-8" memastikan huruf seperti é atau aksara non-Latin tersimpan dengan benar.

Membaca baris demi baris

Python
1with open("nilai.txt", "w", encoding="utf-8") as f:2    f.write("Andi,80\nBela,92\nCitra,75\n")34data = {}5with open("nilai.txt", encoding="utf-8") as f:6    for baris in f:7        nama, nilai = baris.strip().split(",")8        data[nama] = int(nilai)9print(data)
Keluaran
{'Andi': 80, 'Bela': 92, 'Citra': 75}

Setiap baris yang dibaca masih membawa karakter baris baru \n di ujungnya, jadi dibuang dengan strip().

Modul csv

File berformat CSV (comma-separated values) adalah format umum untuk data tabel, bisa dibuka dengan aplikasi spreadsheet. Modul csv menangani detailnya, misalnya teks yang mengandung koma.

Python
1import csv23with open("siswa.csv", "w", newline="", encoding="utf-8") as f:4    penulis = csv.writer(f)5    penulis.writerow(["nama", "alamat"])6    penulis.writerow(["Rani", "Jl. Melati 5, Bandung"])78with open("siswa.csv", encoding="utf-8") as f:9    for baris in csv.reader(f):10        print(baris)
Keluaran
['nama', 'alamat']
['Rani', 'Jl. Melati 5, Bandung']

Alamat yang mengandung koma tetap terbaca sebagai satu kolom, karena modul csv otomatis memberinya tanda kutip saat menulis.

File di Playground

Playground BelajarCode menjalankan Python di peramban. File yang dibuat program disimpan di memori sementara peramban dan hilang saat halaman Playground dimuat ulang. Di komputermu sendiri, file benar-benar tersimpan di folder tempat program dijalankan.

Cek pemahaman

Apa yang terjadi pada isi lama sebuah file jika dibuka dengan mode "w"?

Latihan

Rekap kehadiran dari file

Tulis file hadir.txt berisi satu nama per baris: Andi, Bela, Andi, Citra, Andi, Bela. Lalu baca file itu dan tampilkan berapa kali setiap nama hadir, urut dari yang paling sering.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi