Cara menggunakan READLINE pada Python

Membuka File di Server

Asumsikan kita memiliki file berikut, terletak di folder yang sama dengan Python:

demofile.txt

Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!

Untuk membuka file, gunakan fungsi bawaan open[].

Fungsi open[] mengembalikan objek file, yang memiliki metode read[] untuk membaca konten file.

Contoh:

f = open["demofile.txt", "r"]

print[f.read[]]

Jika file terletak di lokasi yang berbeda, Anda harus menentukan path file, seperti ini:

Contoh
Buka file di lokasi berbeda

f = open["D:\\myfiles\welcome.txt", "r"]

print[f.read[]]

Membaca Hanya Sebagian dari File

Secara default, metode read[] mengembalikan seluruh teks, tetapi kita juga dapat menentukan berapa banyak karakter yang ingin dikembalikan.

Contoh:
Kembalikan 5 karakter pertama file

f = open["demofile.txt", "r"]

print[f.read[5]]

Membaca Sebaris

KIta juga bisa mengembalikan nilai satu baris dengan menggunakan metode readline[]:

Contoh:
Baca satu baris file

f = open["demofile.txt", "r"]

print[f.readline[]]

Dengan memanggil readline[] dua kali, berarti kita bisa membaca dua baris pertama.

Contoh:
Baca dua baris file

f = open["demofile.txt", "r"]

print[f.readline[]]
print[f.readline[]]

Dengan mengulang melalui baris file, maka kita dapat membaca seluruh file, baris demi baris.

Contoh:
Looping baris demi baris file

f = open["demofile.txt", "r"]
for x in f:
  print[x]

Menutup File

Merupakan kebiasaan yang baik untuk selalu menutup file setelah selesai menggunakannya.

Contoh:
Tutup file setelah selesai

f = open["demofile.txt", "r"]

print[f.readline[]]

f.close[]

Catatan: Kita harus selalu menutup file, dalam beberapa kasus, karena buffering, perubahan yang dibuat pada file mungkin tidak ditampilkan jika kita tidak menutup file.

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

Karena memori [RAM] komputer bersifat volatile yang kehilangan datanya saat 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 menggunakan notepad. Simpan di drive C:\ dengan nama test.txt.

Python memiliki fungsi open[] untuk membuka file. Fungsi ini mengembalikan sebuah objek file yang digunakan untuk membaca atau mengubah file tersebut.

>>> f = open["C:\\test.txt"]

Catatan: f = open["C:\\test.txt"] memiliki dua tanda \ untuk menandai karakter escape. Bisa juga dengan menggunakan karakter raw r dengan penulisan f = open[r"C:\test.txt"]

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

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

Contohnya adalah seperti 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 akhir dari file yang dibaca tadi. Untuk jelasnya, perhatikan contoh 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 sampai akhir file
'the first line\nThis is the second line\nThis is the third line\n'

>>> r.read[]     # sudah tidak ada karakter untuk dibaca
''

Seperti terlihat pada contoh, metode read[] mengembalikan newline [baris baru] sebagai ‘\n’. Pada saat file sudah mencapai akhir, maka jika dibaca lagi, hasilnya adalah karakter kosong.

Kita dapat mengubah letak kursor file [posisi] menggunakan metode seek[]. Sedangkan posisi sekarang [dalam ukuran byte] dapat diperoleh dengan menggunakan metode tell[].

>>> f.tell[]    # mendapatkan 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 bisa menggunakan perulangan. Akhir perbaris ditandai oleh karakter ‘\n’.

>>> for line in f:
    print[line, end = '']

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

Dibanding menggunakan perulangan, sebaiknya kita menggunakan fungsi readline[] untuk membaca file satu persatu baris, seperti 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 berguna untuk mengembalikan list yang berisi baris – baris file dari awal sampai 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 menggunakan mode 'w' pada saat membuka filenya. Atau bisa juga menggunakan mode 'a' untuk menambah isi file dari akhir file awal, tanpa menghapus atau menimpa isinya terlebih dahulu.

Kita harus berhati – hati dalam menggunakan mode 'w' karena bisa menimpa file jika filenya sudah ada. Semua data di file yang tertimpa akan terhapus dan diganti dengan isi baru.

Kita bisa menulis file dengan menggunakan metode write[]. Metode ini mengambalikan jumlah karakter 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 contoh 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 dibuat file yang baru secara otomatis. Bila Anda tidak ingin mengubah atau menimpa file, Anda bisa memilih nama lain selain nama file yang sudah eksis.

Menutup File

File yang sudah terbuka perlu ditutup kembali menggunakan metode close[]. Bila Anda tidak menutup file, maka perubahan yang Anda lakukan bisa saja hilang.

Menutup file akan membebaskan memori yang terpakai.

f.open["C:\\test.txt"]
# melakukan berbagai operasi file
f.close[]

Cara menutup file di atas kurang baik, karena jika ada error pada saat operasi file, maka program akan keluar sebelum menutup file.

Cara yang lebih baik adalah dengan menggunakan blok try…finally.

try:
    f = open["C:\\test.txt"]
    # melakukan beberapa operasi file
finally:
    f.close[]

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

Cara lain yang lebih aman adalah dengan membuka file dengan pernyataan with seperti contoh berikut:

with open["test.txt"] as f:
   # lakukan operasi file

Dengan menggunakan with kita tidak perlu menggunakan metode close[] lagi, karena hal itu otomatis dilakukan oleh python.

Metode Operasi File

Ada banyak metode yang disediakan python untuk melakukan operasi file. Beberapa darinya sudah dicoba di atas. Tabel berikut menunjukkan 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 aliran file [filestream]
isatty[] Mengembalikan True jika stream file interaktif
read[n] Membaca n karakter dari file. Bila tidak ada argumen maka dibaca seluruh isi file.
readable[] Mengembalikan True bila file bisa 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 jika stream file mendukung akses random
tell[] Mengembalikan posisi kursor sekarang
truncate[size] Mengubah ukuran stream file menjadi size byte.
writable[] Mengembalikan True jika stream file bisa ditulis.
write[s] Menuliskan string s ke file dan mengembalikan jumlah karakter yang dituliskan
writelines[lines] Menuliskan list lines ke dalam file

Bài mới nhất

Chủ Đề