Daftar Referensi Python
with membuka sumber daya (paling sering: file) dan menjamin sumber daya itu ditutup otomatis saat bloknya selesai — bahkan kalau terjadi error di tengah jalan. Ini alasan kenapa semua contoh file di situs ini memakai with.
Sintaks
with open("file.txt", "r", encoding="utf-8") as f:
isi = f.read()
# keluar blok -> file otomatis tertutup
Kenapa Bukan open() dan close() Manual?
| Aspek | Manual (close sendiri) | Dengan with |
|---|---|---|
| Kalau ada error di tengah | file bisa tidak pernah tertutup | tetap tertutup |
Lupa close() |
mungkin data belum tersimpan | tidak mungkin lupa |
| Panjang code | lebih panjang | lebih ringkas |
Contoh
with open("catatan.txt", "w", encoding="utf-8") as f:
f.write("Halo dari with!")
with open("catatan.txt", "r", encoding="utf-8") as f:
print(f.read())
Output:
Halo dari with!
Contoh Lainnya
Bukti file tertutup otomatis
with open("data.txt", "w", encoding="utf-8") as f:
f.write("tes")
print("Di dalam blok:", f.closed)
print("Di luar blok:", f.closed)
Output:
Di dalam blok: False
Di luar blok: True
Dua file sekaligus dalam satu with
with open("a.txt", "w", encoding="utf-8") as fa, \
open("b.txt", "w", encoding="utf-8") as fb:
fa.write("isi A")
fb.write("isi B")
with open("a.txt", "r", encoding="utf-8") as f:
print(f.read())
Output:
isi A
Kesalahan Umum
- Membaca file di luar blok
with→ValueError: I/O operation on closed file. Semua operasi file harus di dalam bloknya. - Lupa
as f— tanpa itu kamu tidak punya pegangan ke filenya. withtidak menangkap error (itu tugastry/except) — ia hanya menjamin sumber daya ditutup.
Pelajari Lebih Lanjut
- Referensi: Membaca File di Python · Menulis File di Python · try except di Python
- Buku Belajar Python untuk Pemula: Bab 14
