Pemrogram Python secara intensif menggunakan array, daftar, dan kamus sebagai struktur data berseri. Menyimpan struktur data ini secara terus-menerus membutuhkan file atau database agar berfungsi dengan baik
Pada artikel ini, kita akan melihat cara menulis daftar ke file, dan cara membaca daftar itu kembali ke memori
Untuk menulis data dalam file, dan membaca data dari file, bahasa pemrograman Python menawarkan metode standar write() dan read() untuk menangani satu baris, serta writelines() dan readlines() untuk menangani beberapa baris. Selain itu, modul pickle dan json memungkinkan cara cerdas untuk menangani kumpulan data berseri juga
Menggunakan metode read() dan write()
Untuk menangani karakter (string), metode dasar read() dan write() bekerja dengan sangat baik. Menyimpan daftar seperti itu baris demi baris ke dalam file listfile.txt dapat dilakukan sebagai berikut
listitem diperpanjang dengan jeda baris read()0, pertama, dan kemudian disimpan ke dalam file keluaran. Sekarang kita dapat melihat bagaimana membaca seluruh daftar dari file listfile.txt kembali ke memori
Perlu diingat bahwa Anda harus menghapus jeda baris dari akhir string. Dalam hal ini, ini membantu kita bahwa Python juga mengizinkan operasi daftar pada string. Penghapusan ini hanya dilakukan sebagai operasi daftar pada string itu sendiri, yang menyimpan semuanya kecuali elemen terakhir. Elemen ini berisi karakter read()0 yang mewakili jeda baris pada sistem UNIX/Linux
Menggunakan metode writelines() dan readlines()
Seperti disebutkan di awal artikel ini, Python juga berisi dua metode - writelines() dan readlines() - masing-masing untuk menulis dan membaca banyak baris dalam satu langkah. Mari tulis seluruh daftar ke file di disk
Untuk membaca seluruh daftar dari file di disk, kita perlu melakukannya
Kode di atas mengikuti pendekatan yang lebih tradisional yang dipinjam dari bahasa pemrograman lain. Mari kita tulis dengan cara yang lebih Pythonic
Pertama, konten file dibaca melalui readlines(). Kedua, dalam read()6 loop dari setiap baris, karakter jeda baris dihapus menggunakan metode read()7. Ketiga, string ditambahkan ke daftar tempat sebagai item daftar baru
Dibandingkan dengan daftar sebelumnya, kodenya jauh lebih ringkas, tetapi mungkin lebih sulit dibaca oleh programmer Python pemula
Menggunakan Modul Joblib
Metode awal yang dijelaskan hingga saat ini menyimpan daftar sedemikian rupa sehingga manusia masih dapat membacanya - secara harfiah daftar berurutan dalam sebuah file. Ini bagus untuk membuat laporan sederhana atau mengeluarkan file ekspor untuk digunakan lebih lanjut oleh pengguna, seperti file CSV. Namun - jika tujuan Anda hanya membuat serial daftar menjadi file, yang dapat dimuat nanti, tidak perlu menyimpannya dalam format yang dapat dibaca manusia
Modul read()8 menyediakan cara termudah untuk membuang objek Python (bisa berupa objek apa saja)
read()8 tetap menjadi cara termudah dan terbersih untuk membuat serialisasi objek dalam format yang efisien, dan memuatnya nanti. Anda dapat menggunakan sembarang format, seperti writelines()0, writelines()1, dll. Tidak masalah - baik read()8 dan alternatif seperti pickle akan membaca file dengan baik
Menggunakan Modul acar
Sebagai alternatif dari read()_8, kita dapat menggunakan pickle. Metode writelines()_6 menyimpan daftar secara efisien sebagai aliran data biner. Pertama, file keluaran writelines()_7 dibuka untuk penulisan biner (writelines()8). Kedua, daftar disimpan dalam file yang dibuka menggunakan metode writelines()6
Sebagai langkah selanjutnya, kita membaca daftar dari file sebagai berikut. Pertama, file keluaran writelines()_7 dibuka biner untuk dibaca (readlines()1). Kedua, daftar tempat dimuat dari file menggunakan metode readlines()2
Dua contoh di sini menunjukkan penggunaan string. Meskipun, pickle bekerja dengan semua jenis objek Python seperti string, angka, struktur yang ditentukan sendiri, dan setiap struktur data bawaan lainnya yang disediakan Python
Menggunakan Format JSON
Format data biner yang pickle digunakan khusus untuk Python. Untuk meningkatkan interoperabilitas antara program yang berbeda, Notasi Objek JavaScript (JSON) menyediakan skema yang mudah digunakan dan dapat dibaca manusia, dan karenanya menjadi sangat populer untuk membuat serial file dan membagikannya melalui API.
Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan menyertakan lembar contekan. Hentikan perintah Googling Git dan benar-benar pelajari itu
Contoh berikut menunjukkan cara menulis daftar tipe variabel campuran ke file keluaran menggunakan modul json. Setelah membuka file keluaran untuk menulis, metode writelines()_6 menyimpan daftar dasar dalam file menggunakan notasi JSON
Membaca isi file keluaran kembali ke memori semudah menulis data. Metode yang sesuai untuk writelines()_6 bernama readlines()2
Kesimpulan
Berbagai metode yang kami tunjukkan di atas berkisar dari menulis/membaca data sederhana hingga membuang/memuat data melalui aliran biner menggunakan pickle dan JSON. Ini menyederhanakan menyimpan daftar terus-menerus dan membacanya kembali ke dalam memori