Hướng dẫn cách lấy danh sách tên file và thư mục trong python. Bạn sẽ học được cách lấy danh sách tên file và thư mục trong python, lấy danh sách đệ quy tên file và thư mục trong python
với các phương pháp như bằng hàm os.listdir(), hàm glob.glob(), phương thức Path.iterdir() sau bài học này.
Lấy danh sách tên file và thư mục trong python | os.listdir()
Để lấy danh sách tên file và thư mục có trong thư mục được chỉ định, chúng ta dùng hàm os.listdir() tích hợp trong module os, với cú pháp sau đây:
os.listdir(path)
Trong đó path
là đường dẫn thư mục cần lấy danh sách file và thư mục con trong đó.
Sau khi chạy, kết quả trả về một list chứa tên của tất cả file và thư mục con có trong thư mục được chỉ định.
Lưu ý là hàm os.listdir() chỉ có thể lấy được các file và thư mục con nằm trực tiếp dưới thư mục được chỉ định, chứ không thể lấy được các file và thư mục chứa trong các thư mục con của nó.
Ví dụ, bạn có một thư mục có cấu trúc như sau:
data/ ├── user │ ├── dir1 │ ├── dir2 │ │ └── name.txt │ ├── pass.txt │ └── user.txt ├── client └── move.py
Chúng ta sẽ lấy danh sách tên file và thư mục có trong thư mục user
như sau:
import os |
Bạn có thể thấy trong kết quả tên các file và thư mục con nằm trực tiếp dưới thư mục user
là ['dir1', 'dir2', 'pass.txt', 'user.txt']
, tuy nhiên file name.txt
trong thư mục con dir2
lại không thể lấy được.
Để lấy danh sách đệ quy tên file và thư mục trong python, hãy sử dụng hàm glob() được hướng dẫn ở phần Lấy danh sách đệ quy tên file và thư mục trong python | glob()
Lấy danh sách tên file trong thư mục python | os.path.isfile()
Khi chỉ muốn lấy danh sách tên file trong thư mục python, chúng ta cần kết hợp hàm kiểm tra file có tồn tại hay không, và cách viết nội hàm List comprehension trong python.
Chúng ta viết :
import os |
Lấy danh sách tên thư mục trong python | os.path.isdir()
Tương tự, nếu chỉ muốn lấy danh sách tên thư mục trong python, chúng ta sử dụng kèm hàm kiểm tra folder có tồn tại hay không trong python.
Chúng ta viết như sau:
import os |
Lấy danh sách tên file và thư mục trong python | Path.iterdir()
Chúng ta cũng có thể sử dụng phương thức iterdir() trong module pathlib để lấy danh sách tên file và thư mục trong python với cú pháp sau đây:
os.listdir(path)
Trong đó path
là một instance tạo ra bởi class pathlib.Path() chứa thông tin đường dẫn của thư mục gốc.
Kết quả trả về của chương trình là một path iterator - một trình lặp đại diện cho các tệp và thư mục có trong thư mục gốc.
Cách sử dụng như ví dụ sau:
import pathlib |
Lấy danh sách tên file và thư mục trong python | glob()
Chúng ta cũng có thể sử dụng hàm glob() trong module glob() để lấy danh sách tên file và thư mục trong python với cách viết sau đây:
import glob |
Bạn có thể gán đường dẫn thư mục vào biến và sử dụng như sau:
import glob |
Lấy danh sách đệ quy tên file và thư mục trong python | glob()
Để lấy danh sách đệ quy tên file và thư mục trong python, bao gồm cả các file và thư mục trong một thư mục và các thư mục con của nó, chúng ta sử dụng hàm glob() đệ quy như sau:
import glob |
Bạn có thể gán đường dẫn thư mục vào biến và sử dụng như sau:
import glob |
Cả hai đều đưa ra kết quả là danh sách đệ quy tên file và thư mục có trong thư mục user
như sau:
['./user\\', './user\\dir1', './user\\dir1\\kiyoshi', './user\\dir1\\user.txt', './user\\dir2', './user\\dir2\\kiyoshi', './user\\dir2\\user.txt', './user\\pass.txt', './user\\user.txt'] |
- Bạn có thể tìm hiểu chi tiết cách dùng hàm glob.glob() trong python tại bài Lấy danh sách tên file và thư mục theo điều kiện trong python.
Tổng kết và thực hành
Trên đây Kiyoshi đã hướng dẫn bạn về cách lấy danh sách tên file và thư mục trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.
URL Link
HOME › python cơ bản - lập trình python cho người mới bắt đầu>>16. xử lý file trong python