Cara menggunakan python3 readline

Dalam membuat suatu aplikasi, mungkin kita perlu menyimpan suatu data yang pada masa depan akan dibutuhkan kembali. Untuk menyimpan data tersebut, dapat disimpan dalam bentuk file dan juga dalam bentuk tabel dalam database, atau menggunakan variabel. Untuk data yang sederhana, kita bisa memilih menyimpannya dalam bentuk file teks .txt, .csv, atau bisa juga dalam spreadsheet (.xlsx atau .odt). Sekarang kita akan mempelajari cara melakukan baca dan tulis file dengan python untuk file .txt. File lainnya seperti spreadsheet membutuhkan modul/paket tambahan.

Daftar Isi

 

Pada saat menjalankan sebuah program di python, dapat juga menyimpan data dalam bentuk variabel. Hanya saja data yang disimpan dalam variabel tidak permanen. Karena saat keluar dari program, data yang disimpan dalam variabel akan hilang alias tidak disimpan (dihapus). Maka dengan melakukan baca dan tulis file, akan memudahkan untuk mengakses data kemudian hari.

Cara membaca dan menulis file di python, program ini sudah pernah dipraktikkan saat kita membuat aplikasi teks editor beberapa waktu yang lalu. Dan kita akan melihatnya dari sudut yang berbeda. Dan dalam aplikasi ini, saya tidak membuat GUI. Karena kita sudah membuat GUI-nya pada tulisan itu menggunakan Tkinter.

File atau berkas yang akan kita oleh ini berisi teks, data berupa teks ini sederhana sekali. Maka kita akan menyimpan data tersebut kedalam sebuah file txt. Untuk variabel yang berisi data teks panjang, jika ingin membuatnya dalam beberapa baris maka gunakan

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
3 untuk membuat baris baru. Kode tersebut ketika di
>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
4 akan menghasilkan baris baru.

Membuat File

Pertama kali kita akan membuat sebuah file .txt menggunakan

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
5 dan
>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
6 sebagai parameternya. Dengan kode seperti ini
>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
7. Dan kode ini akan membuat file baru jika belum ada dan akan menghapus file lama kemudian mengganti dengan yang baru kalau ternyata file sudah ada dengan method
>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
8.

Sekarang mari coba membuat programmnya

>>> tulis = open('angka.txt', 'w')
>>> n = 1
>>> for i in range(2, 50):
...     n +=1
...     tulis.write(str(n) + '\n')
>>> tulis.close()

Sebagai penutuh kode jangan lupa dengan

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
9 untuk menulis outputnya menjadi sebuah file.

Membuka file .txt

Oke, setelah tadi membuat sebuah file bernama angka.txt, mari sekarang membuka file tersebut yang seperti apa isinya hasil dari program yang dibuat tadi.

Melakukan perintah ini pada folder yang sama dengan lokasi file

nama = input('File yang akan dibuka : ')
fread = open(nama)
0 supaya python tidak bingung dan dapat mudah menemukan filenya. Kalau lokasi folder berbeda, maka tulis path secara lengkap.
nama = input('File yang akan dibuka : ')
fread = open(nama)
1.

Untuk file yang berbeda lokasi, tulis path secara lengkap. Misalnya

nama = input('File yang akan dibuka : ')
fread = open(nama)
2. Baris kode ini akan membuka file bernama
nama = input('File yang akan dibuka : ')
fread = open(nama)
3 yang berada di folder
nama = input('File yang akan dibuka : ')
fread = open(nama)
4.

Kalau file yang dimaksud tidak ditemukan, maka python akan menampilkan pesan error seperti ini

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'

Kita juga bisa menggunakan

nama = input('File yang akan dibuka : ')
fread = open(nama)
5 tujuannya agar pengguna program dapat menuliskan nama file yang mereka inginkan, agar program menjadi interaktif. Misalnya seperti berikut

nama = input('File yang akan dibuka : ')
fread = open(nama)

Agar tampilan pesan errornya lebih mudah dimengerti, dapat juga menggunakan exception seperti ini

>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...

Sampai disini kita sudah membuka file angka.txt. Kode

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
5 tidak memiliki perbedaan waktu membuka antara file yang besar dan file yang kecil. Waktu yang dibutuhkan untuk membuka file selalu sama.

Membaca File

Membuka file berbeda dengan membaca isi file, karena itu fungsi

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
5 membutuhkan waktu yang sama antara membuka file besar dan file kecil. Sekarang kita akan coba dengan kode
nama = input('File yang akan dibuka : ')
fread = open(nama)
8, mari buat dari awal.

buka = open('angka.txt')
print(buka)

Setelah menjalankan kode program di atas, ternyata hasil outputnya seperti ini

<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>

Buka isi file yang keluar, tapi malah sesuatu yang disebut File Handle, ok mari kita coba dengan yang satu ini.

buka = open('angka.txt')
count = 0
for i in buka:
     count +=1
 
print(count)

Keluar hasil

nama = input('File yang akan dibuka : ')
fread = open(nama)
9, baris kode di atas adalah untuk menghitung jumlah baris yang ada di dalam file angka.txt. Semua baris yang ada isinya maupun yang kosong tetap akan dihitung, sekarang coba untuk memodifikasi agar hanya menghitung barus yang tidak kosong saja. Dalam contoh ini buatlah sebuah file berisi teks beberapa baris dan buat juga baris yang kosong agar mudah dipahami.

Saya membuat file bernama

>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...
0 yang berisi 3 baris, satu baris yang kedua adalah kosong. Untuk menghitung seluruh baris menggunakan kode program di atas, hanya ganti nama file saja. Kemudian untuk menghitung baris yang tidak kosong, gunakan kode di bawah ini yang sudah ditambah dengan
>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...
1 yang gunanya untuk menghapus karakter
>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
3

buka = open('teks.txt')
count = 0
for i in buka:
     if len(i.strip()) > 0 :
	count +=1
 
print(count)

Perbedaan outpun pada kode sebelumnya, ketika saya menjalankan kode sebelumnya hasilnya adalah

>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...
3 dan setelah menjalankan perintah ke dua, hasilnya adalah
>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...
4.

Baik, kalau tadi kita hanya menghitung baris saja. Sekarang kita akan menampilkan isi dari file. Dengan menambahkan

>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...
5. Seperti ini

buka = open('angka.txt', 'r')
buka.read()
n38\n39\n40\n41\n42\n43\n44\n45\n46\n47\n48\n49'

Itu adalah isi file angka.txt yang sudah kita buat tadi pada awal tulisan ini. Kalau keluarannya seperti itu, apakah mudah untuk dibaca? Agar lebih manusiawi tambahkan

>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...
6 menjadi seperti ini
>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...
7

Parameter optional yang tersedia dalam melakukan baca dan tulis file dengan python

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
5.

  • >>> try:
    ...     fread = open(nama)
    ... except:
    ...     print('File tidak ada')
    ...
    
    5 : Untuk membaca file
  • buka = open('angka.txt')
    print(buka)
    
    0 : Untuk menulis file
  • buka = open('angka.txt')
    print(buka)
    
    1 : Untuk membaca dan menulis file baru
  • buka = open('angka.txt')
    print(buka)
    
    2 : Untuk menambahkan sesuatu kedalam file
  • buka = open('angka.txt')
    print(buka)
    
    3 : Untuk membaca dan menulis pada file yang sama

Dalam penulisannya

buka = open('angka.txt')
print(buka)
4, kalau hanya ingin membaca saja gunakan parameter
>>> try:
...     fread = open(nama)
... except:
...     print('File tidak ada')
...
5, ingin menambahkan baris gunakan
buka = open('angka.txt')
print(buka)
2 dan seterusnya. Kemudian jangan lupa untuk menutup file dengan
>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
9

Baca dan Tulis File Dengan Python

Setelah mempelajari bagian-bagian tentang cara baca dan tulis file dengan python, mari kita mencoba program lengkap. Contoh ini saya membuat nama-nama hari. Buat sebuah file bernama

buka = open('angka.txt')
print(buka)
8 yang berisi nama-nama hari seperti ini.

Senin
Selasa
Rabu
Kamis
Jumat
Sabtu
Ahad

Dari file

buka = open('angka.txt')
print(buka)
8 dengan menggunakan python saya mencoba menulis ulang isi file ke file baru bernama
<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
0 ini sekaligus contoh melakukan baca dan tulis file dengan python.

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
0

Kode program ini disimpan dengan nama

<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
1 lalu jalankan pada terminal dengan perintah
<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
2. Keluaran yang saya dapatkan adalah seperti ini

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
1

Kemudian isi dari file yang barusan dibuat yaitu file bernama

<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
3 adalah seperti ini

>>> buka = open('tidak-ada-file.txt')
Traceback (most recent call last):
  File "", line 1, in 
FileNotFoundError: [Errno 2] No such file or directory: 'tidak-ada-file.txt'
2

Kesimpulan

Program berhasil dijalankan dengan tanpa error. Program sederhana ini telah berhasil melakukan seperti apa yang saya inginkan, yaitu membuka file bernama

buka = open('angka.txt')
print(buka)
8 yang berada dilokasi folder
<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
5 yang disimpan dalam variabel
<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
6. Lalu menuliskan kembali isinya kedalam file baru yang bernama
<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
0. Saya juga menentukan lokasi penulisannya berada di lokasi yang sama menggunakan variabel
<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
8 dengan tambahan
<_io.TextIOWrapper name='angka.txt' mode='r' encoding='UTF-8'>
9.

Mudah sekali cara melakukan baca dan tulis file dengan python. Kalau ada yang belum jelas, silahkan ajukan pertanyaan pada kolom komentar di bawah ini. Selamat Belajar Python

ReadLine untuk apa?

Fungsi ReadLine() akan membaca teks yang kita ketik dalam satu baris (teks).

Apa yang terjadi jika kita menimpa file yang sudah ada dengan metode W adalah?

Menulis File dengan Mode "W" Apa bila file itu sudah ada, maka akan di-replace atau ditulis ulang dengan yang baru.

Bagaimana cara membuat file baru di python?

1.1 Membuat File Baru/Proyek Python Menggunakan PyCharm Isi saja nama proyeknya “BelajarPython”. Lalu tekan Create. Selanjutnya, silahkan tambahkan file python dengan klik kanan pada direktori proyek, kemudian pilih New -> Python File. Setelah itu, berikan nama filenya dengan Latihan-1 lalu tekan Enter.

Apa file extension yang digunakan untuk menulis program script bahasa python?

Untuk membuat script python kita hanya perlu menuliskan script yang kita inginkan pada sebuah file dengan ekstensi .py . Penulisan script ini tidak berbeda dengan penulisan kode pada interpreter interaktif Python.