Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để sử dụng hàm Glob () để tìm tệp một cách đệ quy trong Python?


Để sử dụng Glob () để tìm tệp một cách đệ quy, bạn cần Python 3.5+. Mô-đun cầu hỗ trợ chỉ thị "**" (chỉ được phân tích cú pháp nếu bạn chuyển cờ đệ quy) ra lệnh cho python tìm kiếm một cách đệ quy trong các thư mục.

ví dụ

import glob
for filename in glob.iglob('src/**/*', recursive=True):
    print(filename)

Bạn có thể kiểm tra tên tệp bằng bất kỳ điều kiện nào bạn muốn bằng câu lệnh if. Đối với các phiên bản Python cũ hơn, bạn có thể sử dụng os.walk để duyệt đệ quy thư mục và tìm kiếm tệp.

ví dụ

import os, re, os.path
pattern = "^your_regex_here$"
mypath = "my_folder"
for root, dirs, files in os.walk(mypath):
    for file in filter(lambda x: re.match(pattern, x), files):
        print(file)

Điều này sẽ khớp tên tệp với regex mà bạn chỉ định và in tên của chúng.