Penanganan File di Python
Operasi Dasar File
1. Membuka File
# Sintaks dasar
file = open('namafile.txt', 'mode')
# Mode yang umum digunakan:
# 'r' - Read/Baca (default)
# 'w' - Write/Tulis (menimpa file)
# 'a' - Append/Tambah (menambah di akhir file)
# 'x' - Exclusive creation/Pembuatan eksklusif
# 'b' - Binary mode/Mode biner
# 't' - Text mode/Mode teks (default)
# Menggunakan with statement (direkomendasikan)
with open('namafile.txt', 'r') as file:
# operasi file di sini
pass # file otomatis tertutup setelah blok selesai
2. Membaca File
# Membaca seluruh file
with open('contoh.txt', 'r') as file:
isi = file.read()
# Membaca baris per baris
with open('contoh.txt', 'r') as file:
for baris in file:
print(baris.strip()) # strip() menghapus newline di akhir
# Membaca sejumlah karakter tertentu
with open('contoh.txt', 'r') as file:
potongan = file.read(10) # membaca 10 karakter pertama
# Membaca semua baris ke dalam list
with open('contoh.txt', 'r') as file:
baris_baris = file.readlines()
# Membaca baris tertentu
with open('contoh.txt', 'r') as file:
baris_baris = file.readlines()
baris_pertama = baris_baris[0]
3. Menulis File
# Menulis string ke file (menimpa isi yang ada)
with open('output.txt', 'w') as file:
file.write('Halo, Dunia!\n')
file.write('Baris lainnya\n')
# Menulis beberapa baris sekaligus
baris_baris = ['Baris 1\n', 'Baris 2\n', 'Baris 3\n']
with open('output.txt', 'w') as file:
file.writelines(baris_baris)
# Menambahkan ke file
with open('output.txt', 'a') as file:
file.write('Ini adalah teks yang ditambahkan\n')
4. Bekerja dengan File CSV
import csv
# Membaca CSV
with open('data.csv', 'r') as file:
pembaca_csv = csv.reader(file)
for baris in pembaca_csv:
print(baris) # baris adalah list
# Menulis CSV
data = [
['Nama', 'Umur', 'Kota'],
['Budi', '25', 'Jakarta'],
['Ani', '30', 'Surabaya']
]
with open('output.csv', 'w', newline='') as file:
penulis_csv = csv.writer(file)
penulis_csv.writerows(data)
5. Bekerja dengan File JSON
import json
# Membaca JSON
with open('data.json', 'r') as file:
data = json.load(file)
# Menulis JSON
data = {
'nama': 'Budi',
'umur': 30,
'kota': 'Jakarta'
}
with open('output.json', 'w') as file:
json.dump(data, file, indent=4)
6. Penanganan Error
try:
with open('tidakada.txt', 'r') as file:
isi = file.read()
except FileNotFoundError:
print("File tidak ditemukan!")
except PermissionError:
print("Tidak ada izin akses!")
except IOError as e:
print(f"Terjadi kesalahan I/O: {e}")
Praktik Terbaik
- Selalu gunakan with statement
# Baik
with open('file.txt', 'r') as file:
isi = file.read()
# Tidak direkomendasikan
file = open('file.txt', 'r')
isi = file.read()
file.close()
- Gunakan penanganan error yang sesuai
try:
with open('file.txt', 'r') as file:
isi = file.read()
except FileNotFoundError:
print("File tidak ditemukan")
# Tangani error dengan tepat
Catatan Penting:
- Selalu gunakan pernyataan 'with' ketika memungkinkan
- Tangani pengecualian dengan tepat
- Pilih mode yang benar saat membuka file
- Hati-hati dengan izin file
- Pertimbangkan penggunaan encoding yang sesuai saat bekerja dengan file teks
- Untuk file besar, pertimbangkan membaca secara bertahap daripada seluruh file sekaligus
- Selalu tutup file setelah selesai menggunakannya
Penanganan file adalah hal yang sangat penting dalam banyak aplikasi, mulai dari penyimpanan data sederhana hingga pemrosesan data yang kompleks. Memahami konsep-konsep ini akan membantu dalam membuat operasi file yang kuat dan efisien di Python.