Cara Membaca dan Menulis File di Python

Membaca dan menulis ke berkas merupakan tugas umum dalam pemrograman, dan Python mempermudahnya dengan kemampuan penanganan berkas bawaannya. Memahami cara bekerja dengan berkas sangat penting bagi setiap programmer Python, karena hal ini memungkinkan Anda menangani penyimpanan data, pencatatan, manajemen konfigurasi, dan banyak lagi. Panduan ini akan membahas cara membuka, membaca, menulis, dan menutup berkas dalam Python, serta cara menangani berbagai mode berkas.

Membuka dan Menutup File

Dalam Python, Anda menggunakan fungsi open() untuk membuka berkas. Fungsi open() mengembalikan objek berkas, yang menyediakan metode untuk membaca dan menulis. Penting untuk menutup berkas setelah Anda selesai menggunakannya menggunakan metode close() untuk membebaskan sumber daya sistem.

# Opening and closing a file
file = open("example.txt", "r")  # Open file for reading
# Perform file operations
file.close()  # Close the file

Membaca File

Ada beberapa cara untuk membaca isi file dalam Python, tergantung pada kebutuhan Anda:

Baca Seluruh File

Metode read() membaca seluruh isi file menjadi satu string.

# Reading the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

Membaca Baris File

Metode readline() membaca satu baris dari file, sementara readlines() membaca semua baris dan mengembalikannya sebagai daftar.

# Reading lines using readline()
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

# Reading all lines using readlines()
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

Membaca File Baris demi Baris

Metode yang lebih disukai untuk membaca berkas baris demi baris adalah dengan menggunakan perulangan for langsung pada objek berkas. Pendekatan ini hemat memori, terutama untuk berkas berukuran besar.

# Reading file line by line using a for loop
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Menulis ke File

Python memungkinkan Anda menulis ke berkas menggunakan metode write() dan writelines(). Anda perlu membuka berkas dalam mode yang mendukung penulisan, seperti 'w' (tulis) atau 'a' (tambahkan).

Menulis ke File

Metode write() menulis satu string ke dalam sebuah berkas. Membuka berkas dalam mode tulis 'w' akan membuat berkas baru atau menimpa berkas yang sudah ada.

# Writing to a file
with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a new line.")

Menambahkan ke File

Membuka berkas dalam mode penambahan 'a' memungkinkan Anda menambahkan konten ke akhir berkas yang ada tanpa menimpa isinya.

# Appending to a file
with open("output.txt", "a") as file:
    file.write("\nThis line is appended.")

Menulis Beberapa Baris

Metode writelines() digunakan untuk menulis beberapa baris ke dalam sebuah berkas. Metode ini mengharapkan daftar string, yang masing-masing mewakili satu baris.

# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
    file.writelines(lines)

Mode Berkas

Fungsi open() Python mendukung beberapa mode untuk membuka file:

  • 'r' - Mode baca (default). Membuka file untuk dibaca.
  • 'w' - Mode tulis. Membuka berkas untuk ditulis (membuat berkas baru atau memotong berkas yang sudah ada).
  • 'a' - Mode penambahan. Membuka berkas untuk penambahan (membuat berkas baru jika belum ada).
  • 'r+' - Mode baca dan tulis. Membuka berkas untuk membaca dan menulis.
  • 'b' - Mode biner. Membuka berkas dalam mode biner (digunakan dengan 'rb', 'wb', dst.).

Kesimpulan

Membaca dan menulis ke file dalam Python mudah dilakukan setelah Anda memahami konsep dasar dan mode file. Dengan menguasai penanganan file, Anda dapat mengelola data secara efisien, menangani input/output pengguna, dan mengotomatiskan tugas yang melibatkan operasi file. Berlatihlah menggunakan teknik ini untuk menjadi ahli dalam manajemen file dalam Python.