Membaca Dan Menulis ke File di Python

By Budyks    Python

Basic Python series kali ini akan membahas sedikit tentang Read & Write atau Membaca dan menulis ke File di Python. Kegunaanya banyak tentunya dan mungkin nanti akan terus bersentuhan dengan fungsi ini.
Seperti pada umumnya, ada beberapa 'Mode' yang dapat digunakan yaitu : 
  1. 'r'  : file hanya untuk dibaca saja
  2. 'w' : hanya untuk menulis ke file ( file dgn yg sudah ada sebelumnya dan mempunyai nama sama akan dihapus)
  3. 'a'  : menulis ke file dimana data baru akan otomatis masuk ke akhir baris (appending)
  4. 'r+' : Buka file untuk dibaca maupun ditulis
Sebelumnya coba buat 1 buah file misal file.txt , isinya :
Agus 30Ganjar 70Nadya 49Torres 80Neymar 40Ronaldo 69Messi 80Nasri 77Dzeko 90

1. Baca File

Ada 2 cara umum yang dipakai untuk membaca File yaitu dengan cara biasa dan dengan 'With' statement.
Contoh Dengan cara biasa  :
def read_file():

    # 'r' default-optional, jika tidak diisi, maka otomatis r    f = open('file.txt','r')    ct = f.read().splitlines()    print "Nama %6s Nilai" % " "    print "======================="    for n in ct:            line = n.split(' ')        print line[0],line[1].rjust(15-len(line[0])," ")
        # syntax rjust diatas hanya spasi saja    f.close()
Coba jalankan kodenya, Outputnya seperti ini :
Nama        Nilai=======================Agus          30Ganjar        70Nadya         49Torres        80Neymar        40Ronaldo       69Messi         80Nasri         77Dzeko         90
Bila dengan 'With', contoh kodenya : 
def read_file_with():        print "Nama %6s Nilai" % " "    print "======================="    with open('file.txt','r') as f:
        ct = f.read().splitlines()        for n in ct:                        line = n.split(' ')            print line[0],line[1].rjust(15-len(line[0])," ")
Kode dengan 'With' diatas akan menghasilkan output yang sama tapi tentunya dengan kode yang lebih enak dibaca dan juga tidak perlu menambahkan f.close() untuk tutup file karena sudah otomatis ditutup jika pakai 'With'

2. Tulis ke-File

Untuk menulis ke file ini harus agak hati-hati terutama saat menentukan 'Mode'. Misal file.txt diatas yang sudah ada isinya, jika menggunakan Mode 'w' maka akan di Overwrite dengan yang baru jadi isi sebelumnya hilang. Jika ingin menambah baris baru, harus memakai Mode 'a'
Contoh kodenya 
def write_file():    f = open("file.txt","a")    f.write("Jahrut 89\n") #\n untuk baris baru    f.write("Memet 78\n")    f.close()
Output nya akan bertambah 2 baris menjadi
Nama        Nilai=======================Agus          30Ganjar        70Nadya         49Torres        80Neymar        40Ronaldo       69Messi         80Nasri         77Dzeko         90Jahrut        89Memet         78

Wrap it all

Bagi yang mau mencoba sebaiknya kita kumpulkan kode diatas kedalam 1 file misal test.py
def read_file():
    f = open('file.txt','r')    ct = f.read().splitlines()    print "Nama %6s Nilai" % " "    print "======================="    for n in ct:            line = n.split(' ')        print line[0],line[1].rjust(15-len(line[0])," ")
    f.close()    def read_file_with():        print "Nama %6s Nilai" % " "    print "======================="    with open('file.txt','r') as f:
        ct = f.read().splitlines()        for n in ct:                        line = n.split(' ')            print line[0],line[1].rjust(15-len(line[0])," ")    def write_file():    f = open("file.txt","a")    f.write("Jahrut 89\n")    f.write("Memet 78\n")    f.close()
if __name__ == '__main__':   read_file()  #silahkan ganti-ganti sesuai fungsi yg mau di coba
Happy learning !

Comments



    Follow Us