Manipulasi File

Ada beberapa ‘Mode’ yang dapat digunakan yaitu :

Mode Keterangan
r Membuka dan membaca file. Pointer file akan ditempatkan di awal file. Jika pada saat pembukaan file tidak disertakan mdoe manipuasli file, maka mode ini secara default dipakai untuk manipulasi file.
w Membuka dan menulis file. Jika file yang dibuka sudah ada dan menggunakan mode ‘w’, maka file tersebut akan ditimpa. Jika file tidak ada makan akan membuat file baru.
a Membuka dan menambahkan isi file. Pointer file disimpan dibagian akhir file jika file tersebut ada. Jika file tidak ada maka akan dibuatkan file baru.
b Mode ini ditambahkan masing-masing pada mode r, w, dan a, menjadi rb, wb, ab. Dengan menanbahkan mode b maka pembacaan file akan dilakukan dalam format biner.
+ Mode ini ditambahkan kedalam mode r, w, a.
r+ baca dan tulis
w+ tulis dan baca
a+ tambah dan baca

buat 1 buah file misal file.txt, isinya :

Agus 30
Ganjar 70
Nadya 49
Torres 80
Neymar 40
Ronaldo 69
Messi 80
Nasri 77
Dzeko 90

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()

===================RESULT====================

Nama        Nilai
=======================
Agus          30
Ganjar        70
Nadya         49
Torres        80
Neymar        40
Ronaldo       69
Messi         80
Nasri         77
Dzeko         90

dengan ‘With’ :

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’

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’

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

===================RESULT====================

Nama        Nilai
=======================
Agus          30
Ganjar        70
Nadya         49
Torres        80
Neymar        40
Ronaldo       69
Messi         80
Nasri         77
Dzeko         90
Jahrut        89
Memet         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:

results matching ""

    No results matching ""