Làm cách nào để có danh sách tệp trong python?

Khi làm việc với Python, bạn sẽ thường xuyên phải truy cập các tệp và thư mục trên máy tính của mình. Python bao gồm một mô-đun os hữu ích cho phép bạn truy cập vào hệ thống tệp cơ bản của máy tính hoặc máy chủ, vì vậy bạn có thể tìm kiếm các tệp và liệt kê các thư mục và tệp được tìm thấy tại một đường dẫn nhất định

Trong hướng dẫn này, bạn sẽ khám phá cách liệt kê các tệp và thư mục bằng Python bằng cách sử dụng mô-đun os. Nó thực sự dễ sử dụng và là một công cụ rất mạnh khi tạo tự động hóa Python

Tải mô-đun

Để bắt đầu, hãy mở tập lệnh Python hoặc sổ ghi chép Jupyter và nhập mô-đun os. Mô-đun os là một phần của thư viện chuẩn Python và không cần cài đặt riêng. Mô-đun os cung cấp cách tương tác với hệ điều hành và thực hiện các tác vụ như liệt kê các tệp và thư mục

Liệt kê tất cả các tệp trong một thư mục bằng listdir()

Hàm

csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
1 trong mô-đun os có thể được sử dụng để liệt kê tất cả các tệp và thư mục trong một thư mục nhất định. Hàm
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
1 lấy đường dẫn đến thư mục làm đối số. Ví dụ sau liệt kê tất cả các tệp và thư mục trong thư mục làm việc hiện tại

Liệt kê tất cả các tệp trong một thư mục cụ thể

Để lấy danh sách tất cả các tệp trong một thư mục cụ thể, chúng ta có thể chuyển đường dẫn đến thư mục làm đối số cho hàm

csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
1. Ví dụ sau liệt kê tất cả các tệp và thư mục trong thư mục có tên
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
5

files = os.listdir('directory1')
files

Chỉ liệt kê các tệp có dấu. phần mở rộng csv

Một nhiệm vụ phổ biến khác trong khoa học dữ liệu là chỉ liệt kê các tệp có phần mở rộng tệp cụ thể hoặc hậu tố tệp, chẳng hạn như

csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
6. Chúng ta có thể sử dụng hàm
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
1 kết hợp với khả năng hiểu danh sách để đạt được điều này. Ví dụ sau liệt kê tất cả các tệp có phần mở rộng
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
6 trong thư mục làm việc hiện tại

csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files

Chỉ liệt kê các tệp có dấu. tiện ích mở rộng csv trong một thư mục cụ thể

Chúng ta có thể sử dụng phương pháp tương tự như trên để trả về danh sách chỉ các tệp trong một thư mục cụ thể với phần mở rộng tệp cụ thể. Ví dụ sau đây liệt kê tất cả các tệp có phần mở rộng

csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
6 trong thư mục có tên
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
5 bằng cách chuyển thư mục này làm đối số cho hàm
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
1

csv_files = [file for file in os.listdir('directory1') if file.endswith('.csv')]
csv_files

Chỉ liệt kê các tệp trong thư mục 1 và bỏ qua các thư mục khác

Theo mặc định, hàm

csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
1 sẽ trả về tất cả các thư mục và tệp được tìm thấy tại một đường dẫn nhất định hoặc sẽ trả về các tệp tại thư mục làm việc hiện tại nếu không có đường dẫn nào được chỉ định. Để lấy danh sách chỉ các tệp trong một thư mục và không có bất kỳ thư mục nào cũng có, chúng ta có thể sử dụng hàm
csv_files = [file for file in os.listdir('directory1') if file.endswith('.csv')]
csv_files
3 kết hợp với khả năng hiểu danh sách

Hàm

csv_files = [file for file in os.listdir('directory1') if file.endswith('.csv')]
csv_files
3 lấy đường dẫn đến tệp làm đối số và trả về
csv_files = [file for file in os.listdir('directory1') if file.endswith('.csv')]
csv_files
5 nếu đường dẫn là tệp và
csv_files = [file for file in os.listdir('directory1') if file.endswith('.csv')]
csv_files
6 nếu đường dẫn là thư mục. Ví dụ sau liệt kê tất cả các tệp trong thư mục có tên
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
5 và bỏ qua bất kỳ thư mục nào cũng có mặt


files = [file for file in os.listdir('directory1') if os.path.isfile(os.path.join('directory1', file))]
files

Liệt kê tất cả các tệp trong một thư mục và tất cả các thư mục con

Để lấy danh sách tất cả các tệp trong một thư mục và tất cả các thư mục con, chúng ta có thể sử dụng hàm

csv_files = [file for file in os.listdir('directory1') if file.endswith('.csv')]
csv_files
8 trong mô-đun os. Hàm
csv_files = [file for file in os.listdir('directory1') if file.endswith('.csv')]
csv_files
8 lấy đường dẫn đến một thư mục làm đối số và trả về một đối tượng trình tạo có thể được lặp lại để lấy danh sách tất cả các tệp trong thư mục và tất cả các thư mục con. Ví dụ sau liệt kê tất cả các tệp trong thư mục có tên
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
5 và tất cả các thư mục con

files = []
for dirpath, dirnames, filenames in os.walk('directory1'):
    for filename in filenames:
        files.append(os.path.join(dirpath, filename))

files

Chỉ liệt kê các tệp có dấu. txt trong một thư mục và tất cả các thư mục con

Cuối cùng, giả sử bạn có rất nhiều thư mục và bạn muốn tìm kiếm tất cả chúng và trả về danh sách tất cả các tệp trong đó có phần mở rộng tệp cụ thể

Chúng ta có thể sử dụng hàm

csv_files = [file for file in os.listdir('directory1') if file.endswith('.csv')]
csv_files
8 kết hợp với khả năng hiểu danh sách để đạt được điều này. Ví dụ sau liệt kê tất cả các tệp có phần mở rộng

files = [file for file in os.listdir('directory1') if os.path.isfile(os.path.join('directory1', file))]
files
3 trong thư mục có tên
csv_files = [file for file in os.listdir() if file.endswith('.csv')]
csv_files
5 và tất cả các thư mục con

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 .

Làm thế nào bạn có thể hiển thị một danh sách các tập tin?

Sử dụng lệnh ls để hiển thị nội dung của một thư mục . Lệnh ls ghi vào đầu ra tiêu chuẩn nội dung của từng Thư mục được chỉ định hoặc tên của từng Tệp được chỉ định, cùng với bất kỳ thông tin nào khác mà bạn yêu cầu với các cờ.