Hướng dẫn python glob files with extension - tập tin toàn cầu python với phần mở rộng
Python v3.5+Phương pháp nhanh bằng cách sử dụng OS.Scandir trong một hàm đệ quy. Tìm kiếm tất cả các tệp với một tiện ích mở rộng được chỉ định trong thư mục và trình phụ phụ. Nó là nhanh, ngay cả khi tìm thấy 10.000 tệp. Show
Tôi cũng đã bao gồm một chức năng để chuyển đổi đầu ra thành khung dữ liệu gấu trúc. Trong hướng dẫn Python này, chúng ta sẽ xem cách liệt kê tất cả các tệp của một thư mục có một phần mở rộng cụ thể. Đôi khi chúng ta cần liệt kê các tệp có một tiện ích mở rộng cụ thể trước khi thực hiện bất kỳ hoạt động nào trên chúng. Ví dụ: nếu bạn muốn chỉ sao chép các tệp văn bản từ vị trí này sang vị trí khác. Trong trường hợp này, chúng tôi cần đảm bảo rằng chúng tôi chỉ đang tìm kiếm các tệp có tiện ích mở rộng sales.txt profit.txt samples.txt0. Chúng tôi sẽ sử dụng các phương thức sau & nbsp; ba phương thức.three methods. Phần mở rộng tệp hoặc tiện ích mở rộng tệp, là một hậu tố ở cuối tệp. Nó đến sau thời gian. Tiện ích mở rộng Chỉ định một loại tệp như văn bản, tệp CSV, PDF hoặc tệp hình ảnh. Ví dụ: đối với một tệp văn bản, đó là sales.txt profit.txt samples.txt1. Đối với tệp hình ảnh, đó là sales.txt profit.txt samples.txt2, sales.txt profit.txt samples.txt3 hoặc sales.txt profit.txt samples.txt4. Dưới đây là các bước để có được danh sách các tệp có phần mở rộng TXT bằng mô -đun GLOB.
Ví dụ: Liệt kê các tệp trong thư mục với TXT mở rộngCác tệp văn bản sau đây có trong thư mục làm việc hiện tại của tôi. sales.txt profit.txt samples.txt Ví dụ 1: Liệt kê tất cả các tệp sales.txt profit.txt samples.txt1 files present in the ‘account’ directory.
Output:: ['E:/account\\profit.txt', 'E:/account\\sales.txt', 'E:/account\\sample.txt'] Nếu bạn muốn liệt kê các tệp từ thư mục hiện tại, việc sử dụng 0.Lưu ý: Giải pháp này nhanh vì nó chỉ tìm kiếm một mẫu cụ thể thay vì đi qua toàn bộ tệp thư mục bằng tệp để kiểm tra xem nó có mở rộng cụ thể không, dẫn đến lợi ích hiệu suất.: This solution is fast because it only looks for a specific pattern instead of traversing the entire directory file by file to check if it has a specific extension, resulting in performance benefits. Mô -đun hệ điều hành để liệt kê các tệp trong thư mục với phần mở rộngMô-đun này giúp chúng tôi làm việc với chức năng phụ thuộc hệ điều hành trong Python. Mô -đun OS cung cấp các chức năng để tương tác với hệ điều hành. Sử dụng các bước dưới đây: -
Example::
Output:: ['profit.txt', 'sales.txt', 'sample.txt'] Lưu ý: Giải pháp này chậm vì nó đi qua toàn bộ tệp thư mục bằng tệp để kiểm tra xem nó có mở rộng cụ thể không, dẫn đến chi phí hiệu suất nếu thư mục chứa nhiều tệp. Vì vậy, tôi khuyên bạn nên sử dụng giải pháp đầu tiên, tức là, mô -đun toàn cầu.: This solution is slow because it traverses the entire directory file by file to check if it has a specific extension, resulting in performance overhead if the directory contains many files. So I suggest you use the first solution, i.e., glob module. Liệt kê các tệp trong thư mục và thư mục con với TXT mở rộngChúng ta có thể sử dụng hai cách tiếp cận sau: -
Mô -đun GLOB để liệt kê các tệp từ các thư mục con với TXT mở rộngĐặt & nbsp; ____ 23 & nbsp; thuộc tính của phương thức 4 thành true để liệt kê các tệp văn bản từ các thư mục con.Sử dụng Python 3.5+ để tìm các tệp một cách đệ quy bằng mô -đun GLOB. Nếu bạn đang sử dụng phiên bản Python cũ hơn, thì hãy sử dụng phương thức 2.3.5+ to find files recursively using the glob module. If you are using the older version of Python, then use the 2 method.Mô -đun & nbsp; Glob hỗ trợ & nbsp; ____ ____ 26 & nbsp; Chỉ thị. Nếu bạn muốn nó đệ quy, bạn có thể sử dụng 7 và đặt cờ đệ quy thành 8, phương thức glob () phân tích con đường đã cho và trông đệ quy trong các thư mục.glob module supports the 6 directive. If you want it recursive you can use 7 and set a recursive flag to 8, the glob() method
parses the given path and looks recursively in the directories.Example::
Output:: ['E:/account\\profit.txt', 'E:/account\\sales.txt', 'E:/account\\sample.txt', 'E:/account\\reports_2021\\december_2021.txt'] import glob # absolute path to search all text files inside a specific folder path = r'E:/demos/files_demos/account/*.txt' files = glob.glob(path) print(files) 2 để liệt kê các tệp trong thư mục và thư mục con với TXT mở rộngĐó là hàm đệ quy A & nbsp; mỗi khi trình tạo được gọi là nó tạo ra một bộ giá trị (current_path, thư mục trong current_path, file in current_path) và nó sẽ theo từng thư mục để lấy danh sách các tệp và thư mục cho đến khi không còn nữa Các thư mục con có sẵn từ thư mục ban đầu.recursive function, i.e., Every time the generator is called it creates a tuple of values (current_path, directories in current_path, files in current_path) and it will follow each directory recursively to get a list of files and directories until no further sub-directories are available from the initial directory.
Example::
['E:/account\\profit.txt', 'E:/account\\sales.txt', 'E:/account\\sample.txt', 'E:/account\\reports_2021\\december_2021.txt'] Bài tập và câu đố PythonCác bài tập mã hóa miễn phí và các câu đố bao gồm các vấn đề cơ bản của Python, cấu trúc dữ liệu, phân tích dữ liệu, v.v.
Có nghĩa là * có nghĩa là gì trong Python trong GLOB?Theo Wikipedia, các mẫu Glob Glob chỉ định các bộ tệp với ký tự ký tự đại diện.Các mẫu này tương tự như biểu thức thông thường nhưng đơn giản hơn nhiều.Asterisk (*): khớp với số không hoặc nhiều ký tự.Dấu hỏi (?) Khớp với chính xác một ký tự.Matches zero or more characters. Question Mark (?) Matches exactly one character.
Có bao gồm toàn cầu trong Python?Mô -đun GLOB là một phần hữu ích của thư viện tiêu chuẩn Python.Tóm lại cho toàn cầu, Glob được sử dụng để trả về tất cả các đường dẫn tệp phù hợp với một mẫu cụ thể. |