File I/O dalam Python

File I/O (Input/Output) adalah cara untuk membaca dari dan menulis ke file. Python menyediakan berbagai fungsi untuk bekerja dengan file, memungkinkan Anda untuk melakukan operasi seperti membaca, menulis, dan menambah data ke file. Pada modul ini, Anda akan mempelajari cara-cara dasar untuk menangani file I/O dalam Python.

Membuka dan Menutup File #

Fungsi open() digunakan untuk membuka file. Fungsi ini mengembalikan objek file yang dapat digunakan untuk melakukan berbagai operasi pada file. Setelah selesai dengan file, Anda harus menutupnya menggunakan metode close().

Sintaks:

file = open("nama_file", "mode")
file.close()

Mode:

  • 'r' : Membaca (default mode)
  • 'w' : Menulis (menghapus isi file jika sudah ada)
  • 'a' : Menambahkan (menulis data di akhir file)
  • 'b' : Mode biner (untuk file non-teks)
  • 't' : Mode teks (default mode)

Contoh:

# Membuka file untuk membaca
file = open("example.txt", "r")
file.close()

# Membuka file untuk menulis
file = open("example.txt", "w")
file.close()

# Membuka file untuk menambah data
file = open("example.txt", "a")
file.close()

Membaca File #

Ada beberapa cara untuk membaca data dari file:

  • read(): Membaca seluruh isi file.
  • readline(): Membaca satu baris dari file.
  • readlines(): Membaca semua baris dan mengembalikan list.

Contoh:

# Membaca seluruh isi file
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

# Membaca file baris demi baris
file = open("example.txt", "r")
for line in file:
    print(line, end="")
file.close()

# Membaca satu baris
file = open("example.txt", "r")
line = file.readline()
print(line)
file.close()

# Membaca semua baris dan mengembalikan list
file = open("example.txt", "r")
lines = file.readlines()
print(lines)
file.close()

Menulis ke File #

Anda bisa menulis data ke file menggunakan metode write() dan writelines().

Contoh:

# Menulis ke file (menghapus isi file jika sudah ada)
file = open("example.txt", "w")
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()

# Menambah data ke file
file = open("example.txt", "a")
file.write("Appending a new line.\n")
file.close()

# Menulis daftar string ke file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
file = open("example.txt", "w")
file.writelines(lines)
file.close()

Menggunakan with untuk Membuka File #

Cara yang lebih aman dan efisien untuk membuka file adalah dengan menggunakan pernyataan with. Dengan cara ini, file akan otomatis ditutup setelah blok kode dieksekusi.

Contoh:

# Membaca file dengan 'with'
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

# Menulis ke file dengan 'with'
with open("example.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a test file.\n")

Penanganan Kesalahan (Exception Handling) #

Ketika bekerja dengan file, penanganan kesalahan sangat penting untuk mengatasi berbagai masalah yang mungkin terjadi, seperti file tidak ditemukan atau izin akses ditolak.

Contoh:

try:
    with open("example.txt", "r") as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("File tidak ditemukan.")
except IOError:
    print("Terjadi kesalahan saat membaca file.")

Contoh Program Sederhana dengan File I/O #

Berikut adalah contoh program sederhana yang menggabungkan berbagai konsep file I/O:

# Menulis data ke file
with open("data.txt", "w") as file:
    file.write("Nama: Alice\n")
    file.write("Usia: 30\n")
    file.write("Kota: New York\n")

# Membaca data dari file
try:
    with open("data.txt", "r") as file:
        print("Isi file 'data.txt':")
        for line in file:
            print(line, end="")
except FileNotFoundError:
    print("File 'data.txt' tidak ditemukan.")
except IOError:
    print("Terjadi kesalahan saat membaca file.")

Pada program di atas, pertama-tama kita menulis beberapa data ke dalam file data.txt. Kemudian, kita mencoba membaca dan mencetak isi file tersebut ke layar. Program juga menangani kemungkinan kesalahan seperti file tidak ditemukan atau kesalahan I/O lainnya.

Dengan memahami dasar-dasar file I/O dalam Python, Anda dapat membaca dari dan menulis ke file dengan efisien, memungkinkan Anda untuk menyimpan dan memproses data secara permanen. Jika ada pertanyaan lebih lanjut atau bagian yang perlu diperjelas, jangan ragu untuk bertanya.