Các tệp danh sách Python toàn cầu

Mô-đun glob là một phần hữu ích của thư viện chuẩn Python. glob (viết tắt của toàn cầu) được sử dụng để trả về tất cả các đường dẫn tệp khớp với một mẫu cụ thể

Chúng ta có thể sử dụng glob để tìm kiếm một mẫu tệp cụ thể hoặc có lẽ hữu ích hơn là tìm kiếm các tệp có tên tệp khớp với một mẫu nhất định bằng cách sử dụng các ký tự đại diện

Theo Wikipedia, “các mẫu ______20_______ chỉ định bộ tên tệp có ký tự đại diện”

Các mẫu này tương tự như biểu thức chính quy nhưng đơn giản hơn nhiều

  • Dấu hoa thị (*). Khớp không hoặc nhiều ký tự
  • Dấu chấm hỏi (?) khớp chính xác với một ký tự

Mặc dù có thể sử dụng glob để tìm kiếm một tệp có tên tệp cụ thể, nhưng tôi thấy nó đặc biệt hữu ích khi đọc trong một số tệp có tên tương tự. Sau khi xác định các tệp này, chúng có thể được nối vào một khung dữ liệu để phân tích thêm

Ở đây chúng tôi có một thư mục đầu vào với một số tệp csv chứa dữ liệu chứng khoán. Hãy sử dụng toàn cầu để xác định các tệp

Ví dụ toàn cầu

Ở đây chúng tôi đọc tất cả các tệp csv trong thư mục đầu vào của bạn và ghép chúng vào một khung dữ liệu

Chúng ta có thể thấy một vấn đề nhỏ với điều này trong đầu ra mẫu bên dưới — chúng ta không biết hàng đó thuộc về tệp nào. Mã cổ phiếu chỉ là tên của mỗi tệp và không được bao gồm trong khung dữ liệu được nối của chúng tôi

Các tệp danh sách Python toàn cầu
Các tệp danh sách Python toàn cầu

Thư mục “thời tiết” chứa một tập lệnh python, một tệp văn bản yêu cầu, một tệp đánh dấu README và một thư mục có tên “dữ liệu” lưu trữ dữ liệu cho dự án

1. Sử dụng mô-đun ['data', 'README.md', 'requirements.txt', 'train.py']2

Mô-đun

['data', 'README.md', 'requirements.txt', 'train.py']
2 trong python đi kèm với một số chức năng tiện dụng để xử lý tệp. Để liệt kê nội dung của một thư mục, bạn có thể sử dụng hàm
['data', 'README.md', 'requirements.txt', 'train.py']
0. Nó trả về một danh sách tất cả các tệp và thư mục trong một thư mục

Ví dụ: hãy sử dụng nó để lấy danh sách nội dung trong thư mục làm việc hiện tại là thư mục “thời tiết” từ cây hiển thị ở trên

import os
print(os.listdir())

đầu ra

['data', 'README.md', 'requirements.txt', 'train.py']

Bạn có thể thấy chúng tôi nhận được tất cả các tệp và thư mục trong thư mục làm việc hiện tại. Tuy nhiên, bạn có thể chuyển một đường dẫn thư mục tùy chỉnh để liệt kê nội dung của nó thay thế. Ví dụ: hãy liệt kê nội dung của thư mục "dữ liệu" có trong thư mục làm việc hiện tại

import os
print(os.listdir('./data'))

đầu ra

________số 8_______

Chúng tôi nhận được một danh sách tất cả các tệp và thư mục có trong thư mục "dữ liệu". Trong ví dụ này, chúng tôi đã chuyển một đường dẫn tương đối nhưng bạn cũng có thể chuyển một đường dẫn tuyệt đối và nhận nội dung của nó.

Nếu bạn chỉ muốn lấy danh sách tệp chứ không phải thư mục, bạn có thể sử dụng hàm

['data', 'README.md', 'requirements.txt', 'train.py']
5 để kiểm tra xem đường dẫn đã cho có phải là tệp hay không. Ví dụ: hãy chỉ liệt kê các tệp (chứ không phải thư mục) bên trong thư mục “data”

import os
from os.path import isfile, join

# set the base path
base_path = './data'
file_ls = [f for f in os.listdir(base_path) if isfile(join(base_path, f))]
print(file_ls)

đầu ra

['chennai.txt', 'delhi.txt', 'kolkata.txt', 'mumbai.txt', 'test_set.csv', 'train_set.csv']

Bạn có thể thấy rằng chúng tôi chỉ nhận được các tệp chứ không phải các thư mục có trong thư mục “dữ liệu”

Để biết thêm về mô-đun

['data', 'README.md', 'requirements.txt', 'train.py']
2 trong python, hãy tham khảo

2. Sử dụng mô-đun ['data', 'README.md', 'requirements.txt', 'train.py']7

Bạn cũng có thể sử dụng mô-đun

['data', 'README.md', 'requirements.txt', 'train.py']
7 để lấy danh sách các tệp trong một thư mục. Hãy sử dụng nó để liệt kê các tệp trong thư mục hiện tại của chúng tôi

import glob
print(glob.glob("*"))

đầu ra

['data', 'README.md', 'requirements.txt', 'train.py']

Bạn có thể thấy rằng chúng tôi nhận được tất cả các tệp và thư mục trong thư mục làm việc hiện tại. Lưu ý rằng chúng tôi đã chuyển “*” làm tham số cho hàm

['data', 'README.md', 'requirements.txt', 'train.py']
1, kết quả là liệt kê tất cả các tệp và thư mục trong thư mục đã cho

Bạn cũng có thể chỉ định loại tệp bạn muốn nhận từ một đường dẫn. Ví dụ: để chỉ nhận các tệp văn bản từ thư mục “data” trong thư mục làm việc hiện tại của chúng tôi –

import glob
print(glob.glob("data/*.txt"))

đầu ra

['data\\chennai.txt', 'data\\delhi.txt', 'data\\kolkata.txt', 'data\\mumbai.txt']

Chúng tôi nhận được một danh sách chỉ các tệp văn bản có trong thư mục “dữ liệu”. Lưu ý rằng kết quả trên thu được trên máy Windows do đó có “\\” trong đường dẫn

Với điều này, chúng ta đi đến phần cuối của hướng dẫn này. Các ví dụ về mã và kết quả được trình bày trong hướng dẫn này đã được triển khai trong Jupyter Notebook với python (phiên bản 3. 8. 3) nhân


Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin hướng dẫn và hướng dẫn
Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào


Hướng dẫn tương tác với hệ thống tệp trong Python –

  • Python – Lấy tên tệp từ đường dẫn với các ví dụ
  • Nhận kích thước tệp bằng Python
  • Danh sách tất cả các tệp trong một thư mục bằng Python
  • Nhận thư mục làm việc hiện tại bằng Python

Tác giả

  • Các tệp danh sách Python toàn cầu
    Các tệp danh sách Python toàn cầu

    Piyush Raj

    Piyush là một chuyên gia dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trước đây, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ

    Bạn có thể tạo một danh sách các tệp bằng Python không?

    Lấy danh sách các tệp của một thư mục dễ như ăn bánh. Sử dụng các hàm listdir() và isfile() của mô-đun os để liệt kê tất cả các tệp của một thư mục .

    Tên tệp mẫu toàn cầu là gì?

    Mẫu hình cầu là một biểu thức văn bản khớp với một hoặc nhiều tên tệp bằng cách sử dụng các ký tự đại diện quen thuộc với hầu hết người dùng dòng lệnh . Ví dụ: * là một quả cầu khớp với bất kỳ tên nào và Readme. txt là một quả cầu khớp chính xác với một tệp.