Trong Python, các thư mục, thường được gọi là thư mục trong các hệ điều hành, là các vị trí trên hệ thống tệp được sử dụng để lưu trữ tệp và các thư mục khác. Chúng phục vụ như một cách để nhóm và quản lý các tệp theo cấu trúc phân cấp.
Python cung cấp nhiều mô-đun, chủ yếu là os và os.path , cùng với shutil, cho phép bạn thực hiện nhiều thao tác khác nhau trên các thư mục.
Các thao tác này bao gồm việc tạo thư mục mới, điều hướng qua các thư mục hiện có, liệt kê nội dung thư mục, thay đổi thư mục làm việc hiện tại và xóa thư mục.
Trước khi thực hiện các thao tác trên một thư mục, bạn thường cần kiểm tra xem nó có tồn tại hay không. Chúng ta có thể kiểm tra xem một thư mục có tồn tại hay không bằng cách sử dụng hàm os.path.exists() trong Python.
Hàm này chấp nhận một đối số duy nhất, đó là một chuỗi đại diện cho một đường dẫn trong hệ thống tệp. Đối số này có thể là −
Relative path − Một đường dẫn tương đối với thư mục làm việc hiện tại.
Absolute path − Một đường dẫn hoàn chỉnh bắt đầu từ thư mục gốc.
Trong ví dụ này, chúng ta kiểm tra xem đường dẫn thư mục được cho có tồn tại hay không bằng cách sử dụng hàm os.path.exists().
import os directory_path = "D:\\Test\\MyFolder\\" if os.path.exists(directory_path): print(f"The directory '{directory_path}' exists.") else: print(f"The directory '{directory_path}' does not exist.")
Dưới đây là đầu ra của đoạn mã trên −
The directory 'D:\\Test\\MyFolder\\' exists.
Bạn tạo một thư mục mới trong Python bằng cách sử dụng hàm os.makedirs() . Hàm này tạo ra các thư mục trung gian nếu chúng không tồn tại.
Hàm os.makedirs() chấp nhận một "đường dẫn" mà bạn muốn tạo làm tham số. Nó tùy chọn chấp nhận một tham số "mode" xác định quyền truy cập sẽ được thiết lập cho các thư mục mới được tạo. Đây là một số nguyên, được biểu diễn theo định dạng bát phân (ví dụ: 0o755). Nếu không được chỉ định, các quyền mặc định sẽ được sử dụng dựa trên umask của hệ thống của bạn.
Trong ví dụ sau, chúng ta đang tạo một thư mục mới bằng cách sử dụng hàm os.makedirs() −
import os new_directory = "new_dir.txt" try: os.makedirs(new_directory) print(f"Directory '{new_directory}' created successfully.") except OSError as e: print(f"Error: Failed to create directory '{new_directory}'. {e}")
Sau khi thực thi đoạn mã trên, chúng ta nhận được đầu ra sau:
Directory 'new_dir.txt' created successfully.
Bạn có thể sử dụng mkdir() method của mô-đun os để tạo thư mục trong thư mục hiện tại. Bạn cần cung cấp một tham số cho phương thức này, chứa tên của thư mục sẽ được tạo.
Dưới đây là cú pháp của phương thức mkdir() trong Python −
os.mkdir("newdir")
Dưới đây là một ví dụ để tạo một thư mục test trong thư mục hiện tại −
import os # Create a directory "test" os.mkdir("test") print ("Directory created successfully")
Kết quả thu được như hình dưới đây −
Directory created successfully
Để lấy thư mục làm việc hiện tại trong Python, bạn có thể sử dụng hàm os.getcwd() . Hàm này trả về một chuỗi đại diện cho thư mục làm việc hiện tại nơi mà script Python đang thực thi.
Dưới đây là cú pháp cơ bản của hàm getcwd() trong Python −
os.getcwd()
Sau đây là một ví dụ để hiển thị thư mục làm việc hiện tại bằng cách sử dụng hàm getcwd() −
import os current_directory = os.getcwd() print(f"Current working directory: {current_directory}")
Chúng ta nhận được kết quả như sau −
Current working directory: /home/cg/root/667ba7570a5b7
Bạn có thể liệt kê nội dung của một thư mục bằng cách sử dụng hàm os.listdir(). Hàm này trả về một danh sách tất cả các tệp và thư mục trong đường dẫn thư mục đã chỉ định.
Trong ví dụ dưới đây, chúng ta đang liệt kê nội dung của đường dẫn thư mục đã chỉ định bằng cách sử dụng hàm listdir() −
import os directory_path = r"D:\MyFolder\Pictures" try: contents = os.listdir(directory_path) print(f"Contents of '{directory_path}':") for item in contents: print(item) except OSError as e: print(f"Error: Failed to list contents of directory '{directory_path}'. {e}")
Đầu ra của đoạn mã trên như sau −
Contents of 'D:\MyFolder\Pictures': Camera Roll desktop.ini Saved Pictures Screenshots
Bạn có thể thay đổi thư mục hiện tại bằng cách sử dụng phương thức chdir() . Phương thức này nhận một tham số, đó là tên của thư mục mà bạn muốn đặt làm thư mục hiện tại.
Dưới đây là cú pháp của phương thức chdir() trong Python −
os.chdir("newdir")
Dưới đây là một ví dụ để thay đổi thư mục hiện tại thành Desktop bằng cách sử dụng phương thức chdir() −
import os new_directory = r"D:\MyFolder\Pictures" try: os.chdir(new_directory) print(f"Current working directory changed to '{new_directory}'.") except OSError as e: print(f"Error: Failed to change working directory to '{new_directory}'. {e}")
Chúng ta nhận được đầu ra như hình dưới đây −
Current working directory changed to 'D:\MyFolder\Pictures'.
Bạn có thể xóa một thư mục rỗng trong Python bằng cách sử dụng phương thức os.rmdir() . Nếu thư mục chứa các tệp hoặc thư mục khác, bạn có thể sử dụng phương thức shutil.rmtree() để xóa nó một cách đệ quy.
Cú pháp cơ bản để xóa một thư mục trong Python như sau −
os.rmdir(directory_path) # or shutil.rmtree(directory_path)
Trong ví dụ sau, chúng ta sẽ xóa một thư mục rỗng bằng cách sử dụng phương thức os.rmdir() −
import os directory_path = r"D:\MyFolder\new_dir" try: os.rmdir(directory_path) print(f"Directory '{directory_path}' successfully removed.") except OSError as e: print(f"Error: Failed to remove directory '{directory_path}'. {e}")
Nó sẽ tạo ra đầu ra sau đây −
Directory 'D:\MyFolder\new_dir' successfully removed.