Python tìm tệp có tên một phần

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, ngược lại là False

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. khớp chứa danh sách các tệp khớp, không khớp chứa tên của những tệp không khớp và lỗi 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ụ: filecmp1 sẽ so sánh filecmp2 với filecmp3 và filecmp4 với filecmp5. filecmp6 và filecmp7 mỗi cái sẽ nằm trong một trong ba danh sách được trả về

filecmp. clear_cache[]

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à filecmp0

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 móc nối filecmp6, 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

trái

Thư mục một

đúng

thư mục b

left_list

Các tệp và thư mục con trong a, được lọc bằng cách ẩn và bỏ qua

right_list

Các tệp và thư mục con trong b, được lọc bằng cách ẩn và bỏ qua

phổ thông

Tệp và thư mục con trong cả a và b

left_only

Các tệp và thư mục con chỉ trong một

right_only

Tệp và thư mục con chỉ trong b

common_dirs

Thư mục con trong cả a và b

tài liệu thông thường

Các tệp trong cả a và b

chung_vui

Tê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_files

Cá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_files

Cá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_files

Các tệp ở cả a và b, nhưng không thể so sánh được

thư mục con

Từ đ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_IGNORES

Mớ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 False14 để tìm kiếm đệ quy qua hai thư mục để hiển thị các tệp phổ biến khác nhau

Chủ Đề