Làm cách nào để xóa một thư mục và tất cả nội dung của nó trong python?

Các thư mục và tệp có thể bị xóa bằng các mô-đun và chức năng tích hợp sẵn của Python. Xóa tệp hoặc thư mục là một quá trình quan trọng vì sau khi bạn hủy một thư mục, rất khó để lấy lại nội dung của nó. Do đó, người dùng có thể xóa thư mục và nội dung của nó mà không gặp nhiều khó khăn bằng cách áp dụng một số hàm Python hữu ích

Python có các chức năng sau để xóa một thư mục hoặc thư mục -

Sử dụng hệ điều hành. hàm rmdir()

Python sử dụng hệ điều hành. Hàm rmdir() để xóa các thư mục rỗng. Trong trường hợp này, thư mục bắt buộc phải trống; . Nếu thư mục không tồn tại, FileNOtFoundError sẽ bị ném

Thí dụ

Sau đây là một ví dụ để xóa một thư mục bằng os. hàm rmdir() −

import os path = 'C:\Users\Lenovo\Downloads\New folder' try: os.rmdir(path) print("directory is deleted") except OSError as x: print("Error occured: %s : %s" % (path, x.strerror))

đầu ra

Sau đây là đầu ra của đoạn mã trên -

directory is deleted

Biến 'đường dẫn' sẽ lưu đường dẫn đến thư mục bạn muốn xóa

Sử dụng mô-đun pathlib

Con đường. Hàm rmdir() cũng giúp xóa một thư mục trống bằng cách bao gồm mô-đun pathlib

Thí dụ

Sau đây là một ví dụ để xóa một thư mục bằng đường dẫn. hàm rmdir() −

from pathlib import Path path= Path('C:\Users\Lenovo\Downloads\New folder') try: path.rmdir() print("Directory is removed successfully") except OSError as x: print("Error occured: %s : %s" % (path, x.strerror))

đầu ra

Sau đây là đầu ra của đoạn mã trên -

Directory is removed successfully

Đường dẫn đến thư mục bạn muốn xóa được lưu trong biến đường dẫn

Sử dụng cửa chớp. hàm rmtree()

Bạn có thể xóa hoặc gỡ bỏ thư mục cần thiết và nội dung của nó khỏi hệ thống của mình bằng cách sử dụng tắt máy. hàm rmtree(). Do đó, để xóa cây thư mục, hãy sử dụng mô-đun Shutil

Hướng dẫn này chỉ cho bạn cách xóa tất cả các tệp trong một thư mục bằng Python. Trong Python, mô-đun HĐH cho phép bạn xóa một tệp bằng phương pháp

['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']
6. Đáng ngạc nhiên là không có hỗ trợ mặc định để xóa tất cả các tệp bên trong một thư mục trong mô-đun Python OS, vì vậy chúng tôi sẽ hướng dẫn một số chiến lược để giúp bạn thực hiện. Chúng tôi sẽ chứng minh việc xóa tất cả các tệp trong một thư mục bằng mô-đun OS, mô-đun Pathlib và mô-đun Shutil của Python

Tạo cấu trúc thư mục

Trước tiên hãy tạo một số tệp giả trong một thư mục. Chúng tôi sẽ nghiên cứu cách loại bỏ các tệp này trong các phần tiếp theo. Trước tiên, tập lệnh sau đây thay đổi thư mục làm việc hiện tại cho tập lệnh Python của bạn và điền vào thư mục 5 tệp thuộc các loại khác nhau. tập tin giả của chúng tôi sẽ được trong. \thư mục thư mục chính. Bạn có thể thay đổi đường dẫn này cho dự án cụ thể của mình

import os
os.chdir(r"C:\main directory")
wd = os.getcwd()
all_files = ['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']
for f in all_files:
    file = open(f, 'w+')
    file.close()

print(os.listdir())

đầu ra

['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']


Xóa tất cả các tệp bằng Mô-đun hệ điều hành

Phương pháp cơ bản nhất để xóa tất cả các tệp trong một thư mục là lặp qua tất cả các đường dẫn tệp và xóa từng tệp một. Phương thức

['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']
7 trả về một danh sách chứa đường dẫn của tất cả các tệp trong một thư mục. Sau đó, bạn có thể sử dụng vòng lặp
['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']
8 để lặp qua danh sách đường dẫn và xóa từng tệp một bằng phương pháp
['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']
6

Đây là cách bạn sẽ làm điều đó

directory is deleted
0

Danh sách trống trong đầu ra cho thấy rằng tất cả các tệp đã bị xóa khỏi thư mục làm việc của chúng tôi

directory is deleted
1

Ngoài việc sử dụng vòng lặp for, bạn cũng có thể sử dụng khả năng hiểu danh sách để xóa tất cả các tệp khỏi một thư mục, giống như cách chúng tôi thực hiện trong tập lệnh sau

directory is deleted
2

Nếu bạn muốn xóa các loại tệp cụ thể, bạn có thể sử dụng phương pháp

directory is deleted
00 và chuyển phần mở rộng tệp cho nó trong khi xóa tệp. Đoạn script bên dưới sẽ xóa tất cả các tệp có. pngextension và nó sẽ giữ nguyên tất cả các tệp khác

directory is deleted
4

Đầu ra bên dưới xác nhận tất cả các tệp PNG đã bị xóa và tất cả các tệp khác vẫn còn

đầu ra

directory is deleted
5

Bạn sẽ thường thấy các tình huống trong đó một thư mục chứa cả tệp và thư mục con. Nếu bạn muốn xóa các tệp nhưng vẫn giữ các thư mục con, bạn có thể kiểm tra loại đường dẫn bằng cách sử dụng phương pháp

directory is deleted
01 từ mô-đun os

Trước tiên, hãy tạo một số tệp và thư mục giả (thư mục) bên trong thư mục làm việc hiện tại của chúng tôi

directory is deleted
7

Thư mục làm việc hiện tại của bạn hiện chứa 5 tệp và 2 thư mục,dir1anddir2

đầu ra

directory is deleted
8

Đoạn script sau sử dụng phương thức

directory is deleted
01 để kiểm tra xem đường dẫn có trỏ đến tệp hay không, tệp chỉ bị xóa nếu phương thức
directory is deleted
01 trả về true

from pathlib import Path path= Path('C:\Users\Lenovo\Downloads\New folder') try: path.rmdir() print("Directory is removed successfully") except OSError as x: print("Error occured: %s : %s" % (path, x.strerror))

1

Đầu ra cho thấy rằng tất cả các tệp đã bị xóa và chỉ còn lại các thư mục trong thư mục làm việc hiện tại của bạn. Mọi tệp trong các thư mục con đó vẫn còn

đầu ra

['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']
0

Để xóa các thư mục con trống, bạn có thể lặp qua danh sách đường dẫn và sử dụng phương pháp

directory is deleted
04. Đây là một ví dụ

['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']
1

Hãy nhớ rằng, giống như các lệnh shell trên thiết bị đầu cuối,

directory is deleted
05 chỉ hoạt động nếu các thư mục con trống


Nhận miễn phí Bộ công cụ dành cho nhà phát triển Python của chúng tôi

Tôi đã tập hợp Bộ công cụ dành cho nhà phát triển Python với hơn 100 tập lệnh Python dựng sẵn bao gồm cấu trúc dữ liệu, Pandas, NumPy, Seaborn, máy học, xử lý tệp, quét web và nhiều thứ khác - và tôi muốn bạn có bộ công cụ này miễn phí. Nhập địa chỉ email của bạn dưới đây và tôi sẽ gửi một bản sao theo cách của bạn