Cách sử dụng mô-đun glob của Python để tìm tệp theo mẫu

Module glob trong Python là một công cụ mạnh mẽ để tìm các tệp và thư mục khớp với một mẫu đã chỉ định. Nó đặc biệt hữu ích khi bạn cần tìm kiếm các tệp có phần mở rộng hoặc tên cụ thể trong một thư mục. Bài viết này sẽ hướng dẫn bạn cách sử dụng module glob để định vị tệp một cách hiệu quả.

Giới thiệu về Mô-đun glob

Mô-đun glob cung cấp một cách để liệt kê các tệp và thư mục bằng cách sử dụng ký tự đại diện kiểu shell Unix. Điều này hữu ích cho các tác vụ như tìm kiếm tệp, xử lý hàng loạt, v.v. Mô-đun bao gồm các hàm cho phép bạn khớp tên tệp với các mẫu, giúp quản lý tệp dễ dàng hơn.

Cách sử dụng cơ bản của glob

Để sử dụng mô-đun glob, bạn sẽ cần nhập mô-đun này và sau đó sử dụng hàm glob.glob() để tìm các tệp khớp với một mẫu. Các mẫu bạn sử dụng có thể bao gồm các ký tự đại diện như * (khớp với bất kỳ số lượng ký tự nào) và ? (khớp với một ký tự đơn).

Ví dụ

Tìm kiếm các tập tin có phần mở rộng cụ thể

Ví dụ, để tìm tất cả các tệp có phần mở rộng .txt trong một thư mục, bạn có thể sử dụng:

import glob

# Find all .txt files in the current directory
txt_files = glob.glob('*.txt')
print(txt_files)

Tìm kiếm các tập tin trong một thư mục con

Để tìm tất cả các tệp có phần mở rộng cụ thể trong một thư mục con, hãy chỉ định thư mục con trong mẫu:

import glob

# Find all .jpg files in the 'images' subdirectory
jpg_files = glob.glob('images/*.jpg')
print(jpg_files)

Sử dụng ký tự đại diện

Ký tự đại diện có thể giúp bạn khớp với nhiều tệp hơn. Ví dụ, để tìm tất cả các tệp văn bản bắt đầu bằng "report":

import glob

# Find all files starting with 'report' and ending with .txt
report_files = glob.glob('report*.txt')
print(report_files)

Tìm kiếm các tập tin có nhiều phần mở rộng

Bạn cũng có thể sử dụng glob để tìm các tệp có nhiều phần mở rộng bằng cách sử dụng mẫu bao gồm nhiều ký tự đại diện trùng khớp:

import glob

# Find all .txt and .md files
files = glob.glob('*.txt') + glob.glob('*.md')
print(files)

Sử dụng nâng cao

Ngoài các mẫu đơn giản, mô-đun glob hỗ trợ các mẫu phức tạp hơn. Ví dụ, bạn có thể sử dụng các mẫu như ** để tìm kiếm thư mục theo cách đệ quy.

Tìm kiếm đệ quy

Để tìm kiếm các tệp đệ quy trong tất cả các thư mục con, hãy sử dụng mẫu ** cùng với đối số recursive=True:

import glob

# Find all .py files in the current directory and subdirectories
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)

Phần kết luận

Mô-đun glob là một công cụ thiết yếu để quản lý tệp trong Python, cho phép bạn tìm kiếm tệp bằng các mẫu một cách dễ dàng. Cho dù bạn đang làm việc với các loại tệp cụ thể, tìm kiếm qua các thư mục hay thực hiện các tìm kiếm phức tạp, glob đều cung cấp một giải pháp đơn giản và hiệu quả.