Tạo thư mục và thư mục con trong Python

Khoa học dữ liệu là tương lai và tương lai là ở đây ngay bây giờ. Các nhà khoa học dữ liệu hiện là những chuyên gia được tìm kiếm nhiều nhất hiện nay. Để trở thành một Nhà khoa học dữ liệu giỏi hoặc để chuyển đổi nghề nghiệp trong Khoa học dữ liệu, người ta phải sở hữu bộ kỹ năng phù hợp. Chúng tôi đã tuyển chọn danh sách Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python. Các khóa học này sẽ dạy cho bạn các công cụ lập trình cho Khoa học dữ liệu như Pandas, NumPy, Matplotlib, Seaborn và cách sử dụng các thư viện này để triển khai các mô hình Máy học

Kiểm tra Đánh giá chi tiết về Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python

Hãy nhớ rằng, Khoa học dữ liệu đòi hỏi rất nhiều kiên nhẫn, bền bỉ và thực hành. Vì vậy, hãy bắt đầu học ngay hôm nay

Thư mục đóng một vai trò quan trọng trong việc quản lý công việc và tệp trong hệ thống máy tính của chúng tôi hoặc thậm chí để xử lý các dự án lớn. Hệ thống tệp không chỉ đơn giản là đọc và ghi tệp. Có rất nhiều điều hữu ích có thể được thực hiện bằng cách sử dụng xử lý hệ thống tệp và thư mục. Một tập hợp các hoạt động hữu ích đang tạo và xóa một thư mục giúp chỉ định các tệp tương tự dưới một tên vùng chứa logic. Trong bài viết này, bạn sẽ tìm hiểu cách tạo và xóa thư mục từ bên trong hệ thống của mình thông qua mã Python

Tạo và xóa thư mục là gì?

Tạo thư mục là quá trình tạo một thư mục trong bất kỳ đường dẫn cụ thể hoặc đã cho nào để thư mục đó có thể chứa các thư mục và tệp khác trong đó. Mặt khác, xóa một thư mục thì ngược lại, trong đó người dùng sẽ xóa tệp và tất cả các thư mục con và tệp khác được tạo trong đó cũng sẽ bị xóa. Để tạo hoặc xóa một thư mục trong Python, bạn cần sử dụng mô-đun 'os' trong chương trình của mình

Phát hiện thư mục làm việc hiện tại

Việc phát hiện thư mục đang làm việc hiện tại là điều cần thiết để hiểu các thư mục và thư mục con trông như thế nào từ bên trong Python. Thư mục làm việc hiện tại hoặc thư mục làm việc hiện tại là thư mục mà người dùng làm việc. Phương thức getcwd() của mô-đun os giúp tìm nạp thư mục làm việc hiện tại bằng chương trình

Chương trình

import os
path = os.getcwd()
print ("This is the current working directory in which I'm working: %s" % path)

đầu ra

This is the current working directory in which I'm working: D:\python

Giải trình

Đây là một chương trình đơn giản mà chúng tôi đã nhập mô-đun os. Sau đó, chúng ta có phương thức getcwd() sẽ tìm nạp thư mục làm việc hiện tại (đường dẫn tuyệt đối) theo dõi tập lệnh của Python và thư mục của nó nơi nó đang cư trú. Sau đó, chúng tôi lưu trữ nó trong biến đường dẫn và sử dụng hàm print() để hiển thị nó.  

Tạo thư mục bằng Python

Phương pháp 1. Có thể tạo một thư mục bằng cách sử dụng phương thức mkdir() của mô-đun os của Python

Là một tham số, mkdir() sẽ lấy tên đường dẫn cho thư mục mà nó sẽ tạo thư mục mới

cú pháp

os.mkdir(absolute_path, mode = mode-number, dir_fd = None)

Chương trình

import os
# defining a name that will act as directory
abspath = "D:/python/tempdr"
try:
    os.mkdir(abspath)
except OSError:
    print ("Creation of the directory %s failed" % abspath)
else:
    print ("Successfully created the directory %s" % abspath)

đầu ra

Successfully created the directory D:/python/tempdr

Giải trình

Ở đây, chúng ta phải nhập mô-đun os. Sau đó, chúng tôi xác định tên đường dẫn sẽ đóng vai trò là thư mục để tạo thư mục mới. Sau đó, trong khối thử, bạn phải tạo thư mục theo chuỗi đường dẫn được tạo và lưu trữ trong đối tượng “abspath” làm tham số trong phương thức mkdir() của mô-đun os. Nhưng nếu đã có đường dẫn thì việc tạo thư mục sẽ không hoạt động và sẽ tạo ra một ngoại lệ. Ngoại lệ này sẽ được xử lý bởi OSError và sẽ in ra rằng nó không thành công khi sử dụng hàm print(). Nếu không, nó sẽ in “Đã tạo thư mục thành công” thông qua hàm print()

Phương pháp 2. Tạo nhiều thư mục và thư mục con

Có một phương pháp khác để tạo đồng thời nhiều thư mục. Nó đang sử dụng sự trợ giúp của phương thức makedirs(). Nó có thể tạo các thư mục con đa cấp bằng cách tạo một thư mục sau thư mục tiếp theo

cú pháp

os.makedirs(absolute_path, mode_of_using)

Chương trình

import os
dirc = "Karlos"
parent_path = "D:/python"
abspath = os.path.join(parent_path, dirc)
os.makedirs(abspath)
print("Creating directory '% s' Now" % dirc)
dirc = "Programming"
parent_path = "D:/python/bg"
mode = 0o666
abspath = os.path.join(parent_path, dirc)
os.makedirs(abspath, mode)
print("Directory '% s' created together" % dirc)

đầu ra

Creating directory 'Karlos' Now
Directory 'Programming' created together

Giải trình

Cũng có thể sử dụng một phương pháp khác để tạo nhiều thư mục. Trong chương trình này, trước tiên chúng ta phải nhập mô-đun os. Sau đó, chúng tôi tạo một chuỗi (thư mục mà chúng tôi muốn tạo) và lưu trữ nó dirc biến. Sau đó, chúng tôi tạo một đường dẫn tuyệt đối "D. /Pycha" từ đó chương trình này sẽ kiểm tra xem thư mục có tên chuỗi 'dirc' có tồn tại hay không. Nếu có, nó sẽ tạo nó từ đường dẫn thư mục này. Chúng tôi tham gia đường dẫn đầy đủ cùng với chuỗi bằng cách sử dụng os. đường dẫn. join() và lưu trữ nó trong đối tượng abspath. hệ điều hành. makedirs() và chuyển abspath làm tham số của nó để tạo thư mục đó

Sau đó chúng ta in thông báo tạo thư mục bằng hàm print(). Chúng tôi đang làm điều tương tự một lần nữa để tạo thư mục khác. Ở đây chúng tôi đang tạo thư mục có giá trị chế độ. Giá trị chế độ là một giá trị số nguyên biểu thị cách thư mục cần được tạo.
Nếu tham số này không được cung cấp, thì mặc định, giá trị của nó sẽ là Oo777. Sau đó, chúng tôi in việc tạo thành công một thư mục khác. Vì vậy, cả hai thư mục được tạo đồng thời. Nếu một thư mục đã tồn tại trong đường dẫn đã cho, thì chương trình sẽ tạo lỗi trong trường hợp này.

Xóa một thư mục

Phương pháp 1. Xóa một thư mục

chỉ là trường hợp đảo ngược hoặc ngược lại của việc tạo một thư mục. Người lập trình có thể tạo nó bằng phương thức rmdir() của mô-đun os. rmdir() yêu cầu chuỗi đường dẫn tuyệt đối bao gồm tên thư mục và chỉ xóa mục sâu nhất trong chuỗi đường dẫn. Cần lưu ý rằng rmdir() chỉ hoạt động khi thư mục hoàn toàn trống. Nếu nó không trống, nó sẽ bật lên với OSError

Chương trình

________số 8

đầu ra

Successfully deleted the directory D:/python/Karlos

Giải trình

Trong chương trình này, trước tiên chúng ta phải nhập mô-đun os. Sau đó, chúng tôi tạo một chuỗi (thư mục mà chúng tôi muốn tạo) và lưu trữ nó biến abspath. Sau đó, trong khối thử, bạn phải xóa thư mục theo chuỗi đường dẫn đã cho và lưu trữ trong đối tượng “abspath” dưới dạng tham số trong phương thức rmdir() của mô-đun os. Nhưng nếu đường dẫn không tồn tại ở đó, việc xóa thư mục sẽ không hoạt động và sẽ tạo ra một ngoại lệ

Ngoại lệ này sẽ được xử lý bởi OSError và sẽ in ra rằng nó không thành công khi sử dụng hàm print(). Nếu không, nó sẽ in “Đã xóa thư mục thành công” thông qua hàm print()

Phương pháp 2. Xóa thư mục nếu trống

Đây là một kỹ thuật khác tận dụng cùng một phương thức rmdir() của mô-đun os. Nhưng ở đây, việc xóa sẽ chỉ diễn ra nếu thư mục không có bất kỳ thư mục con hoặc tệp nào. Điều này được kiểm tra bằng mô-đun Path() với iterdir()

Chương trình

This is the current working directory in which I'm working: D:\python
0

đầu ra

This is the current working directory in which I'm working: D:\python
1

Giải trình

Trong chương trình này, trước tiên chúng ta phải nhập mô-đun os. Chúng tôi cũng sẽ nhập pathlib từ Đường dẫn. Sau đó, chúng tôi tạo một chuỗi (thư mục mà chúng tôi muốn tạo) và lưu trữ nó biến abspath. Sau đó, trong khối thử, chúng ta sẽ kiểm tra xem đường dẫn và thư mục mà chúng ta muốn xóa có bất kỳ thư mục con nào hay trống không bằng cách sử dụng iterdir() aznd lưu trữ nó trong một biến is_empty

Sau đó, chúng tôi sẽ sử dụng điều kiện if để kiểm tra is_empty==False, chúng tôi sẽ hiển thị thông báo cho biết thư mục không trống và có thư mục con hoặc tệp. Nếu không, trong phần khác, nó sẽ thực hiện os. rmdir() và xóa đường dẫn đã cho trong abspath. Trong trường hợp đường dẫn không tồn tại ở đó, việc xóa thư mục sẽ không hoạt động và sẽ tạo ra một ngoại lệ

Ngoại lệ này sẽ được xử lý bởi OSError và sẽ in ra rằng nó không thành công khi sử dụng hàm print(). Nếu không, nó sẽ in “Đã xóa thư mục thành công” thông qua hàm print()

Phương pháp 3. Xóa thư mục theo cách đệ quy

Đây là một phương pháp khác để xóa tất cả các thư mục con cùng với thư mục chính (của đường dẫn đã đề cập). Thao tác này sẽ xóa đệ quy tất cả các thư mục con nằm trong thư mục mẹ được đề cập trong đường dẫn. Hàm tự gọi để xóa từng thư mục và thư mục con

Chương trình

This is the current working directory in which I'm working: D:\python
2

đầu ra

Tạo thư mục và thư mục con trong Python

Giải trình

Đầu tiên, chúng ta sẽ nhập Đường dẫn từ mô-đun pathlib. Tiếp theo, chúng ta sẽ tạo một hàm do người dùng định nghĩa rmdir() và truyền một giá trị sẽ lưu trữ đường dẫn thư mục có các thư mục con và chính thư mục cần xóa

Chúng tôi sẽ chuẩn bị điều này làm đường dẫn của chúng tôi trên đó tất cả các hoạt động khác sẽ được thực hiện. Sau đó, chúng tôi sẽ lặp qua tất cả các thư mục con bằng dirc. iterdir() và lưu trữ nó trong itm. Vòng lặp for sẽ lặp lại cho đến khi tất cả các thư mục con bị xóa và thư mục trở nên trống rỗng. Trong vòng lặp for, điều kiện if kiểm tra xem nó có. is_dir() có tồn tại hay không

Nếu thư mục tồn tại, nó sẽ xóa nó thành công. Nếu không, nó sẽ hủy liên kết mục bằng itm. hủy liên kết() phương pháp. Hàm do người dùng định nghĩa sẽ tiếp tục tự gọi cho đến khi thư mục chính bị xóa. Cuối cùng, chúng tôi đã gọi hàm đệ quy này và sử dụng hàm print() để hiển thị thông báo cuối cùng

Sự kết luận

Cả tạo và xóa về cơ bản được sử dụng trong khi tạo các dự án lớn yêu cầu lưu trữ dữ liệu trong các danh mục hoặc nhiều thư mục và thư mục con. Điều cần thiết là phải ghi nhớ số lượng tham số mà phương pháp này sử dụng để tạo hoặc xóa bất kỳ thư mục nào

Tham số đường dẫn là bắt buộc. Phần còn lại, tất cả các thông số khác là tùy chọn. Kỹ thuật này cũng được dùng để tạo virus và các chương trình diệt virus. Ngay cả bọn tội phạm mạng cũng sử dụng kỹ thuật này để nhắm mục tiêu các thư mục cụ thể để xóa hoặc tấn công