GNU/Linux >> Belajar Linux >  >> Ubuntu

Penanganan File dengan Python:Buat, Buka, Tambahkan, Baca, Tulis

Pendahuluan

Penanganan file merupakan bagian integral dari pemrograman. Penanganan file dengan Python disederhanakan dengan metode bawaan, yang mencakup pembuatan, pembukaan, dan penutupan file.

Saat file terbuka, Python juga memungkinkan melakukan berbagai operasi file, seperti membaca, menulis, dan menambahkan informasi.

Artikel ini mengajarkan Anda cara bekerja dengan file dengan Python.

Prasyarat

  • Python 3 diinstal dan disiapkan.
  • Sebuah IDE atau editor kode untuk menulis kode.
  • Akses ke terminal untuk menjalankan kode (atau dijalankan langsung dalam IDE).
  • File teks untuk contoh.

Membuka File dengan Python

open() Metode Python adalah fungsi penanganan file utama. Sintaks dasarnya adalah:

file_object = open('file_name', 'mode')

open() function membutuhkan dua parameter dasar untuk penanganan file:

1. file_name menyertakan ekstensi file dan menganggap file ada di direktori kerja saat ini. Jika lokasi file berada di tempat lain, berikan jalur absolut atau relatif.

2. mode adalah parameter opsional yang mendefinisikan metode pembukaan file. Tabel di bawah ini menguraikan berbagai opsi yang mungkin:

Mode Deskripsi
'r' Membaca dari file dan mengembalikan kesalahan jika file tidak ada (default ).
'w' Menulis ke file dan membuat file jika tidak ada atau menimpa file yang sudah ada.
'x' Pembuatan eksklusif yang gagal jika file sudah ada.
'a' Menambahkan ke file dan membuat file jika tidak ada atau menimpa file yang sudah ada.
'b' Mode biner. Gunakan mode ini untuk file non-tekstual, seperti gambar.
't' Mode teks. Gunakan hanya untuk file tekstual (default ).
'+' Mengaktifkan metode baca dan tulis.

Mode harus memiliki tepat satu create(x )/read(r )/write(w )/append(a ) metode, maksimal satu + . Menghilangkan default mode ke 'rt' untuk membaca file teks.

Di bawah ini adalah tabel yang menjelaskan bagaimana masing-masing mode berperilaku saat dipanggil.

Perilaku Mode
Baca r , r+ , w+ , a+ , x+
Tulis r+ , w , w+ , a , a+ , x+
Buat w , w+ , a , a+ , x , x+
Mulai Posisi Pointer r , r+ , w , w+ , x , x+
Akhir Posisi Pointer a , a+
Memotong (menghapus konten) w , w+
Harus Ada r , r+
Tidak Harus Ada x , x+

Mode Baca

Mode baca di Python membuka file yang ada untuk dibaca, menempatkan penunjuk di awal file.

Untuk membaca file teks dengan Python, muat file dengan menggunakan open() fungsi:

f = open("<file name>")

Mode default untuk membaca teks ('rt' ). Oleh karena itu, metode berikut ini setara dengan default:

f = open("<file name>", "rt")

Untuk membaca file dalam mode biner, gunakan:

f = open("<file name>", "rb")

Tambahkan + untuk membuka file dalam mode baca dan tulis:

f = open("<file name>", "r+")  # Textual read and write
f = open("<file name>", "rt+") # Same as above
f = open("<file name>", "rb+") # Binary read and write

Dalam semua kasus, fungsi mengembalikan objek file dan karakteristiknya tergantung pada mode yang dipilih.

Mode Tulis

Mode tulis membuat file untuk menulis konten dan menempatkan penunjuk di awal. Jika file ada, tulis memotong (menghapus) semua informasi yang ada.

Peringatan: Mode tulis menghapus konten yang ada segera . Periksa apakah ada file sebelum menimpa informasi secara tidak sengaja.

Untuk membuka file untuk menulis informasi, gunakan:

f = open("<file name>", "w")

Mode default adalah teks, jadi baris berikut setara dengan default:

f = open("<file name>", "wt")

Untuk menulis dalam mode biner, buka file dengan:

f = open("<file name>", "wb")

Tambahkan + untuk mengizinkan membaca file:

f = open("<file name>", "w+")  # Textual write and read
f = open("<file name>", "wt+") # Same as above
f = open("<file name>", "wb+") # Binary write and read

open() function mengembalikan objek file yang detailnya bergantung pada mode yang dipilih.

Tambahkan Mode

Mode tambahkan menambahkan informasi ke file yang ada, menempatkan penunjuk di akhir. Jika file tidak ada, mode penambahan membuat file.

Gunakan salah satu baris berikut untuk membuka file dalam mode penambahan:

f = open("<file name>", "a")  # Text append
f = open("<file name>", "at") # Same as above
f = open("<file name>", "ab") # Binary append

Tambahkan + tanda untuk menyertakan fungsi baca.

Buat Mode

Mode buat (juga dikenal sebagai pembuatan eksklusif) membuat file hanya jika tidak ada, dengan menempatkan penunjuk di awal file.

Gunakan salah satu baris berikut untuk membuka file dalam mode buat:

f = open("<file name>", "x")  # Text create
f = open("<file name>", "xt") # Same as above
f = open("<file name>", "xb") # Binary create

Tambahkan + masuk ke mode termasuk fungsi membaca ke salah satu baris di atas.

Membaca File dengan Python

Setelah mengimpor file ke dalam objek, Python menawarkan banyak metode untuk membaca konten.

Gunakan read() metode pada objek file dan mencetak hasilnya. Misalnya:

f = open("file.txt")
print(f.read(),end="")

Kode mencetak konten file teks.

Baca Bagian dari File

Berikan nomor ke read() berfungsi untuk membaca hanya jumlah karakter yang ditentukan:

f = open("file.txt")
print(f.read(5))

Output mencetak lima karakter pertama dalam file.

Atau, gunakan readline() metode untuk mencetak hanya baris pertama file:

f = open("file.txt")
print(f.readline())

Tambahkan bilangan bulat ke readline() berfungsi untuk mencetak jumlah karakter yang ditentukan tanpa melebihi baris pertama.

Baca Baris

Untuk membaca baris dan mengulangi isi file, gunakan for lingkaran:

f = open("file.txt")
for line in f:
    print(line, end="")

Atau, gunakan readlines() metode pada objek file:

f = open("file.txt")
print(f.readlines())

Fungsi mengembalikan daftar baris dari aliran file.

Tambahkan bilangan bulat ke readlines() berfungsi untuk mengatur jumlah baris. Misalnya:

f = open("file.txt")
print(f.readlines(15))

Integer mewakili nomor karakter, dan fungsi mengembalikan garis di mana karakter berakhir bersama dengan baris sebelumnya.

Tutup File

File tetap terbuka hingga menjalankan close() fungsi. Sebaiknya tutup file yang tidak lagi digunakan untuk menghindari perilaku file yang tidak terduga dan file yang rusak.

Untuk menutup file, jalankan close() metode pada objek file:

f.close()

Cara alternatif untuk memastikan file ditutup adalah dengan menggunakan with penyataan. Misalnya:

with open("<file name>"):
    file_contents = f.read()
    # Additional code here

with pernyataan secara otomatis menutup file.

Menghapus File dengan Python

Menghapus file dengan Python membutuhkan komunikasi dengan sistem operasi. Impor os perpustakaan dan hapus file dengan yang berikut:

import os
os.remove("file.txt")

File tidak lagi tersedia. Jika file tidak ada, Python akan membuat kesalahan.

Metode File Python

Python menawarkan berbagai fungsi lain saat bekerja dengan objek file. Di bawah ini adalah tabel yang menguraikan semua proses yang tersedia dan apa yang mereka lakukan.

Metode Deskripsi
close() Menghapus dan menutup objek file.
detach() Memisahkan buffer dari aliran teks dan mengembalikan buffer.
fileno() Mengembalikan deskriptor file jika tersedia.
flush() Menghapus buffer tulis. Tidak tersedia untuk objek hanya-baca.
isatty() Memeriksa apakah aliran file bersifat interaktif.
read(<int>) Baca <int> jumlah karakter paling banyak.
readable() Memeriksa apakah suatu objek dapat dibaca.
readline(<int>) Membaca dari objek hingga baris baru atau akhir file.
readlines(<int>) Mengembalikan daftar baris dari objek file, di mana <int> adalah perkiraan jumlah karakter.
seek(<offset>, <position>) Mengubah posisi penunjuk menjadi <offset> relatif terhadap <position> .
seekable() Memeriksa apakah objek file mendukung akses acak.
tell() Mencetak posisi aliran saat ini.
truncate(<byte>) Mengubah ukuran aliran file menjadi <bytes> (atau posisi saat ini jika tidak disebutkan) dan mengembalikan ukurannya.
write(<string>) Menulis <string> ke objek file dan mengembalikan jumlah karakter yang tertulis.
writable() Memeriksa apakah objek file mengizinkan penulisan.
writelines(<list>) Menulis <list> garis ke aliran tanpa pemisah garis.

Ubuntu
  1. Bagaimana Cara Membaca Variabel Dari File?

  2. Bagaimana Cara Membuka File .8 Dengan Man?

  3. Izin File di Linux – Baca/Tulis/Jalankan

  1. C fopen vs terbuka

  2. open() dengan Python tidak membuat file jika tidak ada

  3. Bagaimana Cara Menambahkan File di C, menggunakan Open in O_APPEND Mode di linux?

  1. Bagaimana Cara Membuat, Mengekstrak, atau Membuka file RAR di Linux?

  2. Baca File Ke Array?

  3. Bagaimana Cara Menginstal Numpy Di Python 3.1?