Looker - Looker giúp các nhà phân tích dễ dàng tạo và quản lý trải nghiệm dữ liệu tùy chỉnh—để mọi người trong doanh nghiệp có thể khám phá dữ liệu quan trọng đối với họ, trong bối cảnh khiến dữ liệu thực sự có ý nghĩa
WinMerge - WinMerge là một công cụ hợp nhất và khác biệt mã nguồn mở dành cho Windows
Databricks - Databricks cung cấp Nền tảng phân tích hợp nhất giúp tăng tốc đổi mới bằng cách hợp nhất khoa học dữ liệu, kỹ thuật và kinh doanh. Apache Spark là gì?
Meld - Meld là gì?
Google BigQuery - Kho dữ liệu được quản lý hoàn toàn để phân tích dữ liệu quy mô lớn
kdiff3 - KDiff3 là một công cụ tìm khác biệt và hợp nhất tệp và thư mục giúp so sánh và hợp nhất hai hoặc ba văn bản
.In the example above, the ampersand is used to continue a long command on the next line. The first line tells what we want to do [make a report of the differences in something], the second line is the report format, the third line says that we want the report to print to a text file called wipe.out. The fourth line "tigers1 tigers2" indicates we have made this comparison before so the file specifics are in a saved session done earlier in the Beyond Compare GUI.nhiều năm trước, tôi đã từng xây dựng VBA để so sánh từng ô và có logic trả về hàm ý nếu hai ô giống nhau - sẽ nhanh hơn, nhưng rắc rối khi mã hóa các tập lệnh VBA 'lỗi thời'
Con đường Pythonic
Bài viết gốc giới thiệu cách tiếp cận dựa trên Python để so sánh nhanh hai tệp, đây là trọng tâm của ghi chú này. \
Mô-đun xác định các chức năng để so sánh các tệp và thư mục, với nhiều sự đánh đổi thời gian/độ chính xác tùy chọn khác nhau. Để so sánh các tệp, xem thêm mô-đun
Mô-đun xác định các chức năng sau
filecmp. cmp[f1 , f2 , nông=Đúng]So sánh các tệp có tên f1 và f2, trả về True
nếu chúng có vẻ bằng nhau, False
ngược lại
Nếu nông là đúng và chữ ký [loại tệp, kích thước và thời gian sửa đổi] của cả hai tệp giống hệt nhau, thì các tệp được coi là bằng nhau
Mặt khác, các tệp được coi là khác nếu kích thước hoặc nội dung của chúng khác nhau
Lưu ý rằng không có chương trình bên ngoài nào được gọi từ chức năng này, mang lại tính di động và hiệu quả
Hàm này sử dụng bộ đệm để so sánh trong quá khứ và kết quả, với các mục nhập bộ đệm bị vô hiệu nếu thông tin cho tệp thay đổi. Toàn bộ bộ đệm có thể bị xóa bằng cách sử dụng
filecmp. tệp cmp[dir1 , dir2 , phổ biến , nông=Đúng]So sánh các tệp trong hai thư mục dir1 và dir2 có tên được đặt theo tên chung
Trả về ba danh sách tên tệp. phù hợp, không phù hợp, lỗi. match chứa danh sách các tệp khớp, mismatch chứa tên của những tệp không khớp và error liệt kê tên của các tệp không thể so sánh. Các tệp được liệt kê trong lỗi nếu chúng không tồn tại trong một trong các thư mục, người dùng không có quyền đọc chúng hoặc nếu việc so sánh không thể thực hiện được vì một số lý do khác
Tham số nông có cùng ý nghĩa và giá trị mặc định như đối với
Ví dụ: filecmp
1 sẽ so sánh filecmp
2 với filecmp
3 và filecmp
4 với filecmp
5. filecmp
6 và filecmp
7 mỗi người sẽ nằm trong một trong ba danh sách được trả về
Xóa bộ đệm filecmp. Điều này có thể hữu ích nếu một tệp được so sánh quá nhanh sau khi nó được sửa đổi để nó nằm trong độ phân giải mtime của hệ thống tệp cơ bản
Mới trong phiên bản 3. 4
Lớp
lớp filecmp. dircmp[a , b, ignore=None, hide=None]Xây dựng một đối tượng so sánh thư mục mới, để so sánh các thư mục a và b. bỏ qua là danh sách các tên cần bỏ qua và mặc định là. hide là danh sách các tên cần ẩn và mặc định là filecmp
0
Lớp so sánh các tệp bằng cách thực hiện các phép so sánh nông như được mô tả cho
Lớp cung cấp các phương thức sau
báo cáo[]In [đến ] so sánh giữa a và b
report_partial_closure[]In so sánh giữa a và b và các thư mục con trực tiếp phổ biến
report_full_closure[]In so sánh giữa a và b và các thư mục con chung [đệ quy]
Lớp này cung cấp một số thuộc tính thú vị có thể được sử dụng để lấy các bit thông tin khác nhau về các cây thư mục được so sánh
Lưu ý rằng thông qua các hook filecmp
6, tất cả các thuộc tính đều được tính toán một cách lười biếng, vì vậy sẽ không bị phạt về tốc độ nếu chỉ sử dụng những thuộc tính nhẹ để tính toán
Thư mục một
đúngthư mục b
left_listCác tệp và thư mục con trong a, được lọc bằng cách ẩn và bỏ qua
right_listCác tệp và thư mục con trong b, được lọc bằng cách ẩn và bỏ qua
phổ thôngTệp và thư mục con trong cả a và b
left_onlyCác tệp và thư mục con chỉ trong một
Tệp và thư mục con chỉ trong b
common_dirsThư mục con trong cả a và b
tài liệu thông thườngCác tệp trong cả a và b
chung_vuiTên trong cả a và b, chẳng hạn như loại khác nhau giữa các thư mục hoặc tên báo cáo lỗi
same_filesCác tệp giống hệt nhau ở cả a và b, sử dụng toán tử so sánh tệp của lớp
diff_filesCác tệp nằm trong cả a và b, có nội dung khác nhau tùy theo toán tử so sánh tệp của lớp
vui_filesCác tệp ở cả a và b, nhưng không thể so sánh được
thư mục conTừ điển ánh xạ tên vào các phiên bản [hoặc phiên bản MyDirCmp nếu phiên bản này thuộc loại MyDirCmp, một lớp con của ]
Đã thay đổi trong phiên bản 3. 10. Các mục nhập trước đây luôn là các phiên bản. Bây giờ các mục có cùng loại với self, nếu self là một lớp con của.
filecmp. DEFAULT_IGNORESMới trong phiên bản 3. 4
Danh sách các thư mục bị bỏ qua theo mặc định
Dưới đây là một ví dụ đơn giản về việc sử dụng thuộc tính difflib
4 để tìm kiếm đệ quy qua hai thư mục để hiển thị các tệp phổ biến khác nhau