I/O File Python: Membaca dan Menulis File dengan Aman

Pelajari cara membaca dan menulis file dengan Python. Kuasai open(), read(), write(), dan manajer konteks untuk menangani operasi file dengan aman tanpa kebocoran sumber daya.

Coba di Editor

Ikhtisar

File Input/Output (I/O) adalah kemampuan mendasar yang memungkinkan program Python berinteraksi dengan penyimpanan persisten di komputer. Baik Anda membuat logger sederhana, membaca file konfigurasi, atau memproses array data yang sangat besar, program Anda memerlukan cara yang andal untuk membuka, membaca, menulis, dan menutup file di disk. Python menyediakan fungsi bawaan yang bersih untuk membuat interaksi sistem file menjadi mudah dan lintas platform.

Alat utama untuk akses file dengan Python adalah fungsi `open()` bawaan. Fungsi ini menerima jalur file dan string mode. Mode menentukan cara file diakses: `'r'` untuk membaca, `'w'` untuk menulis (yang menimpa file), `'a'` untuk menambahkan konten di bagian akhir, dan `'b'` untuk mode biner (berguna untuk gambar atau data serial). Yang terpenting, setiap kali Anda membuka file, file tersebut menggunakan pegangan sistem operasi. Jika Anda gagal menutup file, Anda dapat menyebabkan kebocoran memori atau masalah kunci file.

Untuk menjamin bahwa file selalu ditutup dengan benar, pengembang Python menggunakan pernyataan `with`, yang mengimplementasikan manajer konteks. Saat menggunakan `with open(...) as file:`, Python secara otomatis menutup pegangan file setelah blok kode keluar, bahkan jika terjadi pengecualian yang tidak terduga di dalamnya. Membaca data dapat dilakukan baris demi baris menggunakan `untuk baris dalam file:` atau sekaligus melalui `.read()`, `.readline()`, atau `.readlines()`. Penulisan teks ditangani melalui `.write()` atau `.writelines()`, memungkinkan pengoperasian file yang lancar, aman, dan efisien.

Kode & Output Eksekusi

Menulis salam ke file teks sementara dan membacanya baris demi baris menggunakan pengelola konteks yang aman.

file_operations.py
Coba di Editor
filename = "sample.txt"

# Writing to a file
with open(filename, "w") as file:
    file.write("Hello, Python coder!\n")
    file.write("This is a line in a file.\n")
    file.write("File I/O is simple.\n")

print("File written successfully.\n--- Reading File ---")

# Reading from a file line by line
with open(filename, "r") as file:
    for index, line in enumerate(file, 1):
        print(f"Line {index}: {line.strip()}")
Keluaran Terminal
File written successfully.
--- Reading File ---
Line 1: Hello, Python coder!
Line 2: This is a line in a file.
Line 3: File I/O is simple.

Implementasi Langkah demi Langkah

  • Kesalahan pencatatan dan keluaran program
  • Membaca file konfigurasi (mis., .env atau config.txt)
  • Menyimpan laporan pengguna atau mengekspor ringkasan analitis

Pertanyaan yang Sering Diajukan

Apa perbedaan antara mode tulis dan tambahkan?

Mode tulis ('w') memotong file menjadi nol, menghapus semua konten yang ada sebelum menulis. Mode penambahan ('a') menempatkan kursor di akhir, menambahkan teks baru tanpa menghapus konten yang sudah ada.

Mengapa saya harus menggunakan pernyataan with?

Pernyataan with bertindak sebagai manajer konteks, memastikan file ditutup secara otomatis, yang mencegah kebocoran memori dan mengunci kesalahan file.

Topik Terkait

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.