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 PythonTạ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 deleted0
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 deleted1
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 deleted2
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 deleted00 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 deleted4
Đầ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 deleted5
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 deleted01 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 deleted7
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 deleted8
Đoạn script sau sử dụng phương thức
directory is deleted01 để 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 deleted01 trả về true
1from 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 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 deleted04. Đây là một ví dụ
['IMDB Dataset.csv', 'invoice.txt', 'movie_dataset.csv', 'panda.png', 'receipt.png']
1Hãy nhớ rằng, giống như các lệnh shell trên thiết bị đầu cuối,
directory is deleted05 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