filecmp Membandingkan file file1 dan file2 dan mengembalikan True jika identik, False jika tidak. Secara default, file yang memiliki atribut identik dikembalikan oleh os. stat() dianggap sama. Jika dangkal tidak disediakan (atau Benar), file yang memiliki tanda tangan stat yang sama dianggap sama Show
cmpfiles(dir1, dir2, common[, shallow]) Membandingkan isi file yang terdapat dalam daftar umum di dua direktori dir1 dan dir2. cmpfiles mengembalikan tuple yang berisi tiga daftar - cocok, tidak cocok, kesalahan nama file
dircmp(dir1, dir2 [, ignore[, hide]])_ Membuat objek perbandingan direktori yang dapat digunakan untuk melakukan berbagai operasi perbandingan pada direktori dir1 dan dir2
Contoh filecmp. dircmp mengimplementasikan metode berikut yang mencetak laporan terperinci ke sys. stdout
Mempersiapkan data uji untuk perbandingan import os # prepare test data def makefile(filename,text=None): """ Function: make some files params : input file, body """ with open(filename, 'w') as f: f.write(text or filename) return # prepare test data def makedirectory(directory_name): """ Function: make directories params : input directory """ if not os.path.exists(directory_name): os.mkdir(directory_name) # Get current working directory present_directory = os.getcwd() # change to directory provided os.chdir(directory_name) # Make two directories os.mkdir('dir1') os.mkdir('dir2') # Make two same subdirectories os.mkdir('dir1/common_dir') os.mkdir('dir2/common_dir') # Make two different subdirectories os.mkdir('dir1/dir_only_in_dir1') os.mkdir('dir2/dir_only_in_dir2') # Make a unqiue file one each in directory makefile('dir1/file_only_in_dir1') makefile('dir2/file_only_in_dir2') # Make a unqiue file one each in directory makefile('dir1/common_file', 'Hello, Writing Same Content') makefile('dir2/common_file', 'Hello, Writing Same Content') # Make a non unqiue file one each in directory makefile('dir1/not_the_same') makefile('dir2/not_the_same') makefile('dir1/file_in_dir1', 'This is a file in dir1') os.mkdir('dir2/file_in_dir1') os.chdir(present_directory) return if __name__ == '__main__': os.chdir(os.getcwd()) makedirectory('example') makedirectory('example/dir1/common_dir') makedirectory('example/dir2/common_dir')_
Standarnya adalah melakukan perbandingan dangkal menggunakan informasi yang tersedia dari os. status(). Jika hasilnya sama, file dianggap sama. Dengan demikian, file dengan ukuran yang sama yang dibuat pada waktu yang sama dilaporkan sama, meskipun isinya berbeda Tutorial ini melihat berbagai teknik perbandingan Python untuk dua file. Kita akan membahas cara melakukan pekerjaan tipikal ini dengan menggunakan modul yang tersedia, membaca dua file, dan membandingkannya baris demi baris Di Python, membandingkan dua file bisa dilakukan dengan berbagai cara Membandingkan Dua File Teks Baris demi BarisMenggunakan fungsi open() untuk membaca data dari dua file teks, kita dapat membandingkan informasi yang dikandungnya. Direktori lokal akan dicari dan berpotensi dibaca oleh fungsi open() ContohKami akan membandingkan dua file yang berisi data python dalam contoh ini. Kami diberitahu bahwa kedua file python ini mungkin tidak sama. Python akan memeriksa file untuk kita. Dimungkinkan untuk mengekstrak baris dari file python menggunakan metode readlines()
A for loop digunakan untuk membandingkan file baris demi baris setelah data diekstrak. Pengguna diberi tahu di mana ketidakcocokan terjadi jika baris tidak cocok dengan pesan. Untuk memudahkan pengguna menemukan berbagai baris, kami akan menyertakan data itu sendiri KeluaranBerikut ini adalah output dari kode di atas - Line 1 doesn't match. ------------------------ File1: # importing the modules File2: import mysql.connector Line 2 doesn't match. ------------------------ File1: import os File2: sampleDB=mysql.connector.connect(host='localhost',user='root',password='password',database='textx') Line 3 doesn't match. ------------------------ File1: import shutil File2: #print (sampleDB.connection_id) Line 4 doesn't match. ------------------------ File1: # Providing the folder path File2: cur=sampleDB.cursor() Line 5 doesn't match. ------------------------ File1: origin = 'C:\Users\Lenovo\Downloads\Works\' File2: s="CREATE TABLE novel(novelid integer(4),name varchar(20),price float(5,2))" Line 6 doesn't match. ------------------------ File1: target = 'C:\Users\Lenovo\Downloads\Work TP\' File2: cur.execute(s)_ Menggunakan Modul filecmpBekerja dengan file di Python dimungkinkan melalui modul filecmp. Modul ini dirancang khusus untuk membandingkan data antara dua file atau lebih. Menggunakan filecmp. cmp() metode, kita dapat melakukannya. Jika file cocok, fungsi ini akan mengembalikan True; ContohBerikut adalah contoh penggunaan filecmpule − KeluaranBerikut adalah output dari kode di atas - The two files are different. Menggunakan Modul difflibUntuk membandingkan teks dan mengidentifikasi variasi di antaranya, gunakan paket difflib. Bahasa sudah dikemas sebelumnya dengan modul Python 3 ini. Ini memiliki banyak fitur bermanfaat untuk membandingkan sampel teks Pertama, kita akan mengidentifikasi perbedaan antara dua file data menggunakan fungsi unified diff(). Kami akan membandingkan file-file ini selanjutnya Contoh1-Menggunakan unified-diff()Pernyataan with digunakan untuk membaca data file dalam contoh berikut. Pernyataan Python dengan memungkinkan kita untuk membuka dan membaca file dengan aman − _ KeluaranBerikut adalah output dari kode di atas - --- file1.py +++ file2.py @@ -1,12 +0,0 @@ -# importing the modules -import os -import shutil -# Providing the folder path -origin = 'C:\Users\Lenovo\Downloads\Works\' -target = 'C:\Users\Lenovo\Downloads\Work TP\' -# Fetching the list of all the files -files = os.listdir(origin) -# Fetching all the files to directory -for file_name in files: - shutil.copy2(origin+file_name, target+file_name) -print("Files are copied succesfully")_ Contoh2-Menggunakan perbedaan()Di dalam pustaka difflib, ada kelas bernama Differ yang dapat digunakan untuk membandingkan perbedaan file. Kelas ini digunakan untuk membandingkan kelompok baris teks dan menghasilkan delta atau perbedaan Bagaimana Anda membandingkan dua hal dengan Python?== dan adalah dua cara untuk membandingkan objek dengan Python. == membandingkan 2 objek untuk kesetaraan, dan membandingkan 2 objek untuk identitas. . Contoh 1 membandingkan 2 string. . Contoh 2 membuat daftar a dan b yang akhirnya merujuk ke objek yang sama Bagaimana Anda membandingkan hasil dengan Python?The == dan adalah Operator
. Pada pandangan pertama mereka tampak sama, tetapi sebenarnya tidak. == membandingkan dua variabel berdasarkan nilai yang mereka wakili. Sebaliknya, operator is membandingkan dua variabel berdasarkan ID objek di memori.
Bagaimana Anda membandingkan dua daftar dan menemukan perbedaan dalam Python?Perbedaan antara dua daftar (katakanlah daftar1 dan daftar2) dapat ditemukan dengan menggunakan fungsi sederhana berikut. Dengan Menggunakan fungsi di atas, perbedaannya dapat ditemukan menggunakan diff(temp2, temp1) atau diff(temp1, temp2) . Keduanya akan memberikan hasil ['Empat', 'Tiga'].
Apakah == Operator pembanding dengan Python?Operator “==” membandingkan dengan memeriksa kesetaraan . jika kita membandingkan objek dua orang di atas menggunakan operator ==, kita akan mendapatkan jawaban "kedua orang itu sama", karena mereka membawa nilai nama yang sama. Namun, operator "adalah", membandingkan identitas. |