LoginRegister Artikel ini akan membahas panduan menggunakan modul “difflib” dengan Python. Modul difflib dapat digunakan untuk membandingkan dua objek Python dari tipe tertentu dan melihat persamaan atau perbedaan di antara keduanya. Semua contoh kode dalam artikel ini diuji dengan Python 3.9.5 di Ubuntu 21.04. Modul difflib, seperti namanya, dapat digunakan untuk
menemukan perbedaan atau “diff” antara konten file atau objek Python hashable lainnya. Ini juga dapat digunakan untuk menemukan rasio yang menunjukkan tingkat kesamaan antara dua objek. Penggunaan modul difflib dan fungsinya dapat dipahami dengan baik melalui contoh. beberapa dari mereka terdaftar di bawah ini. Dalam Python, tipe objek yang nilainya tidak mungkin berubah atau sebagian besar tipe objek yang tidak dapat diubah
disebut tipe hashable. Objek tipe hashable memiliki nilai tetap tertentu yang ditetapkan oleh Python selama deklarasi dan nilai-nilai ini tidak berubah selama masa pakainya. Semua objek hashable di Python memiliki metode “__hash__”. Lihat contoh kode di bawah ini: dictionary = {"a" : 1, "b": 2} Setelah menjalankan contoh kode di atas, Anda akan mendapatkan output berikut: Contoh kode mencakup tiga tipe Python: objek tipe integer, objek tipe string, dan objek tipe kamus. Keluaran menunjukkan bahwa
ketika memanggil metode “__hash__”, objek tipe integer dan objek tipe string menunjukkan nilai tertentu, sedangkan objek tipe kamus melontarkan error karena tidak memiliki metode yang disebut “__hash__”. Oleh karena itu tipe integer atau tipe string adalah objek hashable dalam Python sedangkan tipe kamus tidak. Anda dapat mempelajari lebih lanjut tentang objek hashable dari sini. Anda dapat membandingkan dua tipe atau urutan hashable menggunakan kelas “Differ” yang tersedia di modul difflib. Lihat contoh kode di bawah ini. Pernyataan pertama mengimpor kelas Differ dari modul difflib. Selanjutnya, dua variabel tipe string didefinisikan dengan beberapa nilai. Sebuah instance baru dari kelas Differ kemudian dibuat sebagai "d". Dengan menggunakan instance ini, metode "bandingkan"
kemudian dipanggil untuk menemukan perbedaan antara string "baris1" dan "baris2". String ini disediakan sebagai argumen untuk metode perbandingan. Setelah menjalankan contoh kode di atas, Anda akan mendapatkan output berikut: Setelah menjalankan contoh kode di atas, Anda akan mendapatkan output berikut: Contoh kodenya sama seperti di atas, kecuali bahwa instance kelas Differ telah digantikan oleh turunan kelas HtmlDiff dan alih-alih metode perbandingan, Anda sekarang
memanggil metode "make_file". Setelah menjalankan perintah di atas, Anda akan mendapatkan beberapa output HTML di terminal. Anda dapat mengekspor output ke file menggunakan simbol ">" di bash atau Anda dapat menggunakan contoh kode di bawah ini untuk mengekspor output ke file "diff.html" dari Python itu sendiri. Pernyataan “with open” dalam cara “w” membuat file “diff.html” baru dan menyimpan seluruh isi variabel “difference” ke fi Mendapatkan Perbedaan Antara Isi Dua FileJika Anda ingin menghasilkan data yang berbeda dari isi dua file menggunakan metode Differ.compare(), Anda dapat menggunakan pernyataan “dengan terbuka” dan metode “readline” untuk membaca isi file. Contoh di bawah mengilustrasikan hal ini di mana konten "file1.txt" dan "file2.txt" dibaca menggunakan pernyataan "dengan terbuka". Pernyataan "dengan terbuka" digunakan untuk membaca data dari file dengan aman. file1_lines = f.readlines() Kodenya cukup mudah dan hampir sama dengan contoh yang ditunjukkan di atas. Dengan asumsi bahwa "file1.txt" berisi karakter "a", "b", "c", dan "d" masing-masing pada baris baru dan "file2.txt" berisi "c", "d", "e", dan karakter “f” masing-masing pada baris baru, contoh kode di atas akan menghasilkan output sebagai berikut:
|