Operasi File

24 views

File yakni data yang ada pada komputer, baik teks, gambar, angka, suara, video, dan lain sebagainya. File disimpan secara permanen di dalam media penyimpanan menyerupai hardisk dan yang lainnya.

Karena memori (RAM) komputer bersifat volatile yang kehilangan datanya dikala komputer dimatikan, maka kita memerlukan file untuk dibuka lagi nantinya.

Operasi yang kita lakukan terhadap file, di antaranya adalah:

  1. Membuka file
  2. Membaca atau menulis file
  3. Menutup file


Membuka File

Sebelum kita membuka file, tentu harus ada filenya terlebih dahulu. Buatlah sebuah file teks memakai notepad. Simpan di drive C:\ dengan nama test.txt.

Python mempunyai fungsi open() untuk membuka file. Fungsi ini mengembalikan sebuah objek file yang dipakai untuk membaca atau mengubah file tersebut.

>>> f = open("C:\\test.txt")

Catatan: f = open("C:\\test.txt") mempunyai dua tanda \ untuk menandai huruf escape. Bisa juga dengan memakai huruf raw r dengan penulisan f = open(r"C:\test.txt")

Kita sanggup menyebutkan mode file dikala membukanya, apakah pakai mode baca 'r',  tulis 'w', atau tambah 'a'. Kita juga sanggup membuka file dalam mode biner 'b'. Defaultnya yakni mode baca. Dalam mode ini, kita sanggup memperoleh semua teks atau string yang ada di dalam file. Mode biner kita gunakan dikala berafiliasi dengan file gambar atau file exe.

Mode Deskripsi
‘r’ Membuka file untuk dibaca. (default)
‘w’ Membuka file untuk ditulis. Membuat file gres jikalau file belum tersedia atau menimpa isi file jikalau file sudah ada
‘x’ Membuka file untuk pembuatan eksklusif. Jika file sudah ada, maka operasi akan gagal
‘a’ Membuka file dan menambahkan huruf di ujung file usang (tanpa menghapus isinya). Membuat file gres bila file belum tersedia
‘t’ Membuka dalam mode teks. (default)
‘b’ Membuka file dalam mode biner
‘+’ Membuka file untuk diupdate (membaca dan menulis)

Contohnya yakni menyerupai berikut:

>>> f = open("test.txt")    # sama dengan mode 'r' atau 'rt'
>>> f = open("test.txt", 'w') # mode tulis
>>> f = open("img.jpg", 'r+b') # membaca dan menulis dalam mode biner


Membaca File di Python

Untuk membaca file di python, kita harus membuka file dalam mode baca. Ada beberapa metode atau fungsi yang tersedia untuk pembacaan file, yaitu:

Metode read(n) berfungsi untuk membaca sebanyak n karakter.  Metode ini akan membaca file dan mengembalikan simpulan dari file yang dibaca tadi. Untuk jelasnya, perhatikan referensi berikut:

>>> f = open("C:\\test.txt")
>>> f.read(4) # membaca 4 data (karakter) pertama
'This'

>>> f.read(4) # membaca 4 yang berikutnya lagi
' is '

>>> f.read() # membaca file sisanya hingga simpulan file
'the first line\nThis is the second line\nThis is the third line\n'

>>> r.read() # sudah tidak ada huruf untuk dibaca
''

Seperti terlihat pada contoh, metode read() mengembalikan newline (baris baru) sebagai ‘\n’. Pada dikala file sudah mencapai akhir, maka jikalau dibaca lagi, balasannya yakni huruf kosong.

Kita sanggup mengubah letak kursor file (posisi) memakai metode seek(). Sedangkan posisi kini (dalam ukuran byte) sanggup diperoleh dengan memakai metode tell().

>>> f.tell()    # mendapat posisi kursor sekarang
56

>>> f.seek(0) # memindahkan kursor ke 0 (awal file)

>>> print(f.read()) # membaca seluruh isi file
This is the first line
This is the second line
This is the third line

Fungsi read() membaca file secara keseluruhan dan menjadikannya sebagai satu string saja. Bila kita ingin membaca file baris perbaris, kita sanggup memakai perulangan. Akhir perbaris ditandai oleh huruf ‘\n’.

>>> for line in f:
print(line, end = '')

This is the first line
This is the second line
This is the third line

Dibanding memakai perulangan, sebaiknya kita memakai fungsi readline() untuk membaca file satu persatu baris, menyerupai berikut:

>>> f.readline()
'This is the first line\n'

>>> f.readline()
'This is the second line\n'

>>> f.readline()
'This is the third line\n'

Terakhir, ada fungsi readlines() yang berkhasiat untuk mengembalikan list yang berisi baris – baris file dari awal hingga akhir.

>>> f.readlines()
['This is the first line\n', 'This is the second line\n', 'This is the third line\n']


Menulis File

Untuk menulis ke dalam file, kita memakai mode 'w' pada dikala membuka filenya. Atau sanggup juga memakai mode 'a' untuk menambah isi file dari simpulan file awal, tanpa menghapus atau menimpa isinya terlebih dahulu.

Kita harus berhati – hati dalam memakai mode 'w' alasannya yakni sanggup menimpa file jikalau filenya sudah ada. Semua data di file yang tertimpa akan terhapus dan diganti dengan isi baru.

Kita sanggup menulis file dengan memakai metode write(). Metode ini mengambalikan jumlah huruf yang dituliskan ke dalam file.

with open("C:\\test.txt", 'w') as f:
f.write("The new first line\n")
f.write("The new second line\n")
f.write("The new third line\n")

Pada referensi di atas kita menulis data ke file test.txt. Karena test.txt sudah ada, maka isinya akan terhapus dan diganti yang baru. Seandainya test.txt belum ada maka akan dibentuk file yang gres secara otomatis. Bila Anda tidak ingin mengubah atau menimpa file, Anda sanggup menentukan nama lain selain nama file yang sudah eksis.


Menutup File

File yang sudah terbuka perlu ditutup kembali memakai metode close(). Bila Anda tidak menutup file, maka perubahan yang Anda lakukan sanggup saja hilang.

Menutup file akan membebaskan memori yang terpakai.

f.open("C:\\test.txt")
# melaksanakan aneka macam operasi file
f.close()

Cara menutup file di atas kurang baik, alasannya yakni jikalau ada error pada dikala operasi file, maka kegiatan akan keluar sebelum menutup file.

Cara yang lebih baik yakni dengan memakai blok try…finally.

try:
f = open("C:\\test.txt")
# melaksanakan beberapa operasi file
finally:
f.close()

Dengan begitu, kita sanggup menjamin bahwa file akan tetap ditutup walaupun ada error sebelumnya.

Cara lain yang lebih kondusif yakni dengan membuka file dengan pernyataan with menyerupai referensi berikut:

with open("test.txt") as f:
# lakukan operasi file

Dengan memakai with kita tidak perlu memakai metode close() lagi, alasannya yakni hal itu otomatis dilakukan oleh python.


Metode Operasi File

Ada banyak metode yang disediakan python untuk melaksanakan operasi file. Beberapa darinya sudah dicoba di atas. Tabel berikut menawarkan semua operasi file di python.

Metode Deskripsi
close() Menutup file
detach() Memisahkan buffer biner dari TextIOBase dan mengembalikannya.
fileno() Mengembalikan integer (file descriptor) file
flush() Mengosongkan buffer fatwa file (filestream)
isatty() Mengembalikan True jikalau stream file interaktif
read(n) Membaca n huruf dari file. Bila tidak ada argumen maka dibaca seluruh isi file.
readable() Mengembalikan True bila file sanggup dibaca
readline() Membaca dan mengembalikan satu baris file.
readlines() Membaca dan mengembalikan semua baris sebagai satu list.
seek(offset) Mengubah posisi kursor file ke offset byte.
seekable() Mengembalikan True jikalau stream file mendukung kanal random
tell() Mengembalikan posisi kursor sekarang
truncate(size) Mengubah ukuran stream file menjadi size byte.
writable() Mengembalikan True jikalau stream file sanggup ditulis.
write(s) Menuliskan string s ke file dan mengembalikan jumlah huruf yang dituliskan
writelines(lines) Menuliskan list lines ke dalam file

 

 

Author: 
    author
    No related post!