Tôi gặp sự cố khi so sánh hai tệp. Về cơ bản, những gì tôi muốn làm là một diff UNIX-like giữa hai tập tin, ví dụ:Tạo sự khác biệt "mờ" của hai tệp trong Python, với so sánh gần đúng của phao nổi
$ diff -u trái tập tin phải tập
Tuy nhiên hai tập tin của tôi chứa nổi; và bởi vì các tệp này được tạo trên các kiến trúc riêng biệt (nhưng tính toán cùng một thứ), các giá trị thả nổi không giống nhau (chúng có thể khác nhau, ví dụ, 1e-10). Nhưng những gì tôi tìm kiếm bằng cách 'diffing' các tập tin là để tìm thấy những gì tôi coi là sự khác biệt đáng kể (ví dụ sự khác biệt là nhiều hơn 1e-4); trong khi sử dụng lệnh UNIX khác, tôi nhận được gần như tất cả các dòng của tôi có chứa các giá trị nổi khác nhau! Đó là vấn đề của tôi: làm thế nào tôi có thể nhận được một kết quả khác biệt như 'diff -u' cung cấp, nhưng với ít hạn chế về so sánh của phao nổi?
Tôi nghĩ rằng tôi sẽ viết một kịch bản Python để làm điều đó, và phát hiện ra difflib mô-đun cung cấp so sánh tương tự. Nhưng tài liệu tôi tìm thấy giải thích cách sử dụng nó như là (thông qua một phương thức đơn), và giải thích các đối tượng bên trong, nhưng tôi không thể tìm thấy bất cứ điều gì liên quan đến cách tùy chỉnh một đối tượng difflib để đáp ứng nhu cầu của tôi (như viết lại chỉ phương pháp so sánh hoặc như vậy) ... Tôi đoán một giải pháp có thể là để lấy sự khác biệt thống nhất, và phân tích nó 'thủ công' để loại bỏ sự khác biệt 'sai' của tôi, bởi đây không phải là thanh lịch; Tôi muốn sử dụng khung đã có sẵn.
Vì vậy, không ai biết cách tùy chỉnh lib này để tôi có thể làm những gì tôi tìm kiếm? Hoặc ít nhất là chỉ cho tôi đúng hướng ... Nếu không có trong Python, có thể một kịch bản lệnh shell có thể thực hiện công việc đó?
Bất kỳ trợ giúp nào sẽ được đánh giá rất nhiều! Cảm ơn trước cho câu trả lời của bạn!
Có lẽ bạn cũng thích: [Tốt Python module để so sánh chuỗi mờ ?] (http://stackoverflow.com/questions/682367/good-python-modules-for-fuzzy-string-comparison) – miku
một lựa chọn đơn giản hơn sẽ là xử lý trước định dạng tệp và định dạng chính xác đến độ chính xác mong muốn –
Vui lòng đăng một vài dòng tương ứng từ các tệp nhập mẫu? – smci