Membaca File
Dalam Python, membaca file adalah proses mengambil data dari file yang tersimpan di sistem. Bayangkan seperti membuka buku dan membaca isinya, Python dapat membuka file dan mengakses informasi di dalamnya.
Membaca Seluruh Isi File
Cara paling sederhana untuk membaca file adalah mengambil seluruh isinya sekaligus ke dalam memori.
# Membaca seluruh isi file sekaligusf = open('file.txt', 'r')txt = f.read()f.close()print(txt)# Output: [isi lengkap file akan ditampilkan]
Proses ini melibatkan tiga langkah utama. Pertama, buka file dengan fungsi open()
. Kedua, baca isinya dengan metode read()
. Ketiga, tutup file dengan metode close()
untuk membebaskan sumber daya sistem.
Membaca File Baris per Baris
Untuk file yang besar, membaca baris per baris lebih efisien karena tidak memuat seluruh file ke memori sekaligus.
# Membaca file baris per barisf = open('file.txt', 'r')for line in f: print(line, end='')f.close()# Catatan: setiap baris mempertahankan karakter newline# Parameter end='' mencegah penambahan newline tambahan
Ketika membaca baris per baris, setiap baris mempertahankan karakter newline (\n
) di akhirnya. Parameter end=''
pada fungsi print()
mencegah penambahan newline tambahan.
Menulis ke File
Menulis file memungkinkan program menyimpan data atau hasil perhitungan ke dalam file untuk digunakan kemudian.
Menulis String ke File
# Menulis string ke filef = open('file.txt', 'w')for i in range(1, 11): f.write(f'Line {i}')f.close()# File akan berisi:# Line 1# Line 2# Line 3# ... (sampai Line 10)
Mengalihkan Output Print ke File
Kamu dapat mengalihkan output fungsi print()
langsung ke file menggunakan parameter file
.
# Mengalihkan output print ke filef = open('file.txt', 'w')for i in range(1, 21): print("Line", i, file=f)f.close()# File akan berisi output print yang dialihkan# Line 1# Line 2# ... (sampai Line 20)
Metode ini sangat berguna ketika kamu ingin menyimpan hasil output program ke file tanpa mengubah struktur kode yang sudah ada.
Mode Pembukaan File
Python menyediakan berbagai mode untuk membuka file sesuai dengan kebutuhan operasi yang akan dilakukan.
Sintaks Pembukaan File
# Sintaks dasar pembukaan filef = open('nama_file', 'mode')# Operasi filef.close()# Contoh berbagai modef_read = open('data.txt', 'r') # Baca saja (default)f_write = open('output.txt', 'w') # Tulis (timpa jika ada)f_append = open('log.txt', 'a') # Tambah di akhir filef_read_write = open('data.txt', 'r+') # Baca dan tulis# Jangan lupa tutup filef_read.close()f_write.close()f_append.close()f_read_write.close()
Parameter mode
menentukan bagaimana file akan diakses. Mode r
untuk membaca, w
untuk menulis (menimpa file lama), a
untuk menambah di akhir file, dan r+
untuk membaca dan menulis.
Metode Pembacaan File
Python menyediakan beberapa metode untuk membaca file dengan cara yang berbeda sesuai kebutuhan.
Metode read() dengan Parameter
# Berbagai metode pembacaan filef = open('file.txt', 'r')# Membaca n karakter dari files = f.read(10) # Membaca 10 karakter pertamaprint("10 karakter:", s)# Membaca seluruh filef.seek(0) # Kembali ke awal files = f.read() # Membaca seluruh fileprint("Seluruh file:", s)# Membaca satu baris termasuk newlinef.seek(0) # Kembali ke awal files = f.readline() # Membaca satu barisprint("Satu baris:", repr(s))f.close()
Posisi File dan Pembacaan
Ketika kamu membuka file, posisi file dimulai dari awal. Setiap operasi pembacaan memajukan posisi file sesuai dengan jumlah data yang dibaca.
# Demonstrasi posisi filef = open('sample.txt', 'r')# Posisi awal di karakter ke-0first_read = f.read(5) # Baca 5 karakterprint("Bacaan pertama:", first_read)# Posisi sekarang di karakter ke-5second_read = f.read(3) # Baca 3 karakter berikutnyaprint("Bacaan kedua:", second_read)# Menggunakan seek() untuk mengatur posisif.seek(0) # Kembali ke awal filethird_read = f.read(2) # Baca 2 karakter dari awalprint("Bacaan ketiga:", third_read)f.close()
Setiap metode pembacaan mengembalikan string yang dibaca. Ketika mencapai akhir file, metode pembacaan mengembalikan string kosong.
Penanganan File yang Aman
Python menyediakan statement with
untuk penanganan file yang lebih aman dan otomatis.
# Menggunakan with statement untuk penanganan file amanwith open('file.txt', 'r') as f: content = f.read() print(content)# File otomatis tertutup setelah keluar dari blok with# Menulis dengan with statementwith open('output.txt', 'w') as f: f.write("Hello World!") f.write("Baris kedua")# File otomatis tertutup dan disimpan# Membaca dan menulis bersamaanwith open('input.txt', 'r') as input_file, open('output.txt', 'w') as output_file: data = input_file.read() output_file.write(data.upper())# Kedua file otomatis tertutup
Statement with
memastikan file selalu tertutup dengan benar, bahkan jika terjadi error dalam program. Ini mencegah masalah seperti file yang terbuka terus dan menghabiskan sumber daya sistem.