Trong hướng dẫn này, bạn sẽ học cách xóa các tệp hoặc thư mục trong Python.
Sau khi đọc hướng dẫn này, bạn sẽ học: -: –
- Xóa tệp bằng mô -đun HĐH và mô -đun Pathlib
- Xóa các tệp khỏi thư mục
- Xóa các tệp phù hợp với mẫu (ký tự đại diện)
- Xóa thư mục trống
- Xóa nội dung của một thư mục (tất cả các tệp và thư mục phụ)
Đôi khi chúng ta cần xóa các tệp khỏi một thư mục không còn cần thiết. Ví dụ: bạn đang lưu trữ dữ liệu hàng tồn kho hàng tháng trong một tệp. Bạn có thể muốn xóa bất kỳ tệp dữ liệu hiện có nào trước khi tạo tệp dữ liệu mới mỗi tháng.
Ngoài ra, sau một thời gian, ứng dụng cần xóa các tệp nhật ký cũ của nó.
Trong hướng dẫn này, chúng tôi sẽ sử dụng các hàm Python sau đây để xóa các tệp và thư mục.Python functions to delete files and folders.
Hàm số | Sự mô tả |
---|
os.remove(path, *, dir_fd = None) 4 | Xóa tệp được chỉ định. |
os.remove(path, *, dir_fd = None) 5 | Xóa tệp được chỉ định. Hữu ích trong môi trường Unix. |
os.remove(path, *, dir_fd = None) 6 | Xóa tệp hoặc liên kết tượng trưng trong đường dẫn đã đề cập |
os.remove(path, *, dir_fd = None) 7 | Xóa thư mục trống. |
os.remove(path, *, dir_fd = None) 8 | Khóc và xóa thư mục trống. |
os.remove(path, *, dir_fd = None) 9 | Xóa một thư mục và các tệp có trong đó. |
Các chức năng để xóa các tệp và thư mụcGhi chú::
- Tất cả các chức năng trên xóa các tệp và thư mục vĩnh viễn.
- Mô -đun Pathlib đã được thêm vào trong Python 3.4. Nó là phù hợp khi ứng dụng của bạn chạy trên một hệ điều hành khác.
Cách xóa một tệp trong Python
Python cung cấp hỗ trợ mạnh mẽ cho việc xử lý tệp. Chúng ta có thể xóa các tệp bằng các phương thức khác nhau và phương pháp được sử dụng phổ biến nhất là phương thức
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
0. Dưới đây là các bước để xóa một tập tin.- Tìm đường dẫn của một tệp
Chúng ta có thể xóa một tệp bằng cả đường dẫn tương đối và đường dẫn tuyệt đối. Đường dẫn là vị trí của tệp trên đĩa. Một đường dẫn tuyệt đối chứa danh sách thư mục hoàn chỉnh cần thiết để định vị tệp. Và một đường dẫn tương đối bao gồm thư mục hiện tại và sau đó là tên tệp. Ví dụ, & nbsp; ________ 31 & nbsp; là một đường dẫn tuyệt đối để khám phá các mẫu.txt.
An absolute path contains the complete directory list required to locate the file. And A relative path includes the current directory
and then the file name.
For example,
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
1 is an absolute path to discover the samples.txt. - Sử dụng hàm Os.Remove () để xóa tệp
Mô -đun HĐH trong Python cung cấp các phương pháp để tương tác với hệ điều hành trong Python. Phương thức ____ 32 () trong mô -đun này được sử dụng để xóa/xóa đường dẫn tệp. Đầu tiên, hãy nhập mô -đun HĐH và chuyển đường dẫn tệp đến hàm
os.remove(path, *, dir_fd = None)
4 để xóa tệp khỏi đĩa
First, import the os
module and Pass a file path to the os.remove(path, *, dir_fd = None)
4 function to delete a file from a disk - Sử dụng hàm rmtree () của mô -đun SHOTIL để xóa thư mục
Nhập mô -đun Shutil và chuyển đường dẫn thư mục đến hàm
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
4 để xóa thư mục và tất cả các tệp có trong đó.
Ví dụ: Xóa tệp trong Python
Mã sau đây giải thích cách xóa một tệp có tên là Sales Sales_1.txt.
Hãy giả sử chúng tôi muốn xóa tệp sales_1.txt khỏi thư mục
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
5. Ngay bây giờ, thư mục này chứa các tệp sau:- sales_1.txt
- sales_2.csv
- profits.txt
- revenue.txt
Xóa tệp có đường dẫn tương đối
import os
# removing a file with relative path
os.remove("sales_1.txt")
Xóa tệp bằng đường dẫn tuyệt đối
import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
Mã của chúng tôi đã xóa hai tập tin. Dưới đây là danh sách các tệp còn lại trong thư mục của chúng tôi:
Hiểu phương pháp import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")0
Syntax::
os.remove(path, *, dir_fd = None)
Chuyển đường dẫn tệp đến hàm os.remove(path, *, dir_fd = None)
4 để xóa tệp khỏi đĩa to the
os.remove(path, *, dir_fd = None)
4 function to delete a file from a diskSau đây là các tham số mà chúng ta cần vượt qua.
- Đường dẫn - Một đường dẫn tương đối hoặc tuyệt đối cho đối tượng tệp thường ở định dạng chuỗi. – A relative or absolute path for the file object generally in string format.
- DIR_FD - Một thư mục đại diện cho vị trí của tệp. Giá trị mặc định là không có và giá trị này bị bỏ qua trong trường hợp đường dẫn tuyệt đối. – A
directory representing the location of the file. The default value is none and this value is ignored in the case of an absolute path.
Nếu đường dẫn tệp được truyền là một thư mục, một
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
8 sẽ được nâng lênKiểm tra xem tệp có tồn tại trước khi xóa nó không
Một
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
9 sẽ được nêu ra nếu tệp không được tìm thấy trong đường dẫn nên nên kiểm tra xem tệp có tồn tại trước khi xóa nó không.Điều này có thể đạt được theo hai cách:
Ví dụ 1: 1:
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
LƯU Ý: Xử lý ngoại lệ được khuyến nghị qua kiểm tra tệp vì tệp có thể bị xóa hoặc thay đổi ở giữa. Đó là cách pythonic để xóa một tệp có thể hoặc không tồn tại.: Exception handling is recommended over file check because the file could be removed or changed in between. It is the Pythonic way to delete a file that may or may not exist.
Ví dụ 2: Xử lý ngoại lệ:
Exception handling
import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
Xóa tệp bằng phương thức import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code1
Nếu bạn đang sử dụng hệ điều hành UNIX, hãy sử dụng phương thức
import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
2 có sẵn trong mô -đun import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
3, tương tự như Remove () ngoại trừ việc nó quen thuộc hơn trong import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
4Env môi trường.os.unlink(path, *, dir_fd=None)
- Đường dẫn - Một đường dẫn tương đối hoặc tuyệt đối cho đối tượng tệp thường ở định dạng chuỗi. – A relative or absolute path for the file object generally in string format.
- DIR_FD - Một thư mục đại diện cho vị trí của tệp. Giá trị mặc định là không có và giá trị này bị bỏ qua trong trường hợp đường dẫn tuyệt đối. – A directory representing the location
of the file. The default value is none and this value is ignored in the case of an absolute path.
Nếu đường dẫn tệp được truyền là một thư mục, một
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
8 sẽ được nâng lênimport os
os.unlink('profits.txt')
Kiểm tra xem tệp có tồn tại trước khi xóa nó không
Một
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
9 sẽ được nêu ra nếu tệp không được tìm thấy trong đường dẫn nên nên kiểm tra xem tệp có tồn tại trước khi xóa nó không. need to work with files in multiple environments, we can use the pathlib module.Mô -đun Pathlib đã được thêm vào trong Python 3.4. Phương thức
import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
5 trong mô -đun pathlib được sử dụng để xóa tệp trong đường dẫn đã đề cập.was added in Python 3.4. The import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
5 method in the pathlib module is used to remove the file in the mentioned path. Ngoài ra, phải mất một tham số bổ sung, cụ thể là
import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
6. Nếu tham số được đặt thành TRUE, thì mô -đun PathLib sẽ bỏ qua lỗi không tìm thấy tệp. Mặt khác, nếu con đường không tồn tại, thì import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
9 sẽ được nâng lên.Hãy cho chúng tôi xem mã để xóa tệp Lợi nhuận.txt, có mặt trong đường dẫn thực thi hiện tại.
- Nhập mô -đun Pathlib
- Sử dụng phương thức
import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
8 để đặt đường dẫn tệp - Tiếp theo, để xóa một tệp, hãy gọi phương thức
import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
2 trên đường dẫn tệp đã cho.
import pathlib
# Setting the path for the file
file = pathlib.Path("profits.txt")
# Calling the unlink method on the path
file.unlink()
Xóa tất cả các tệp khỏi một thư mục
Đôi khi chúng tôi muốn xóa tất cả các tệp khỏi thư mục mà không cần xóa thư mục. Thực hiện theo các bước dưới đây để xóa tất cả các tệp từ một thư mục.
- Nhận danh sách các tệp trong một thư mục bằng hàm
os.unlink(path, *, dir_fd=None)
0. Nó trả về một danh sách chứa tên của các tệp và thư mục trong thư mục đã cho. - Lặp lại trong danh sách bằng cách sử dụng vòng lặp for để truy cập từng tệp một
- Xóa từng tệp bằng cách sử dụng
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
0
Example::
import os
path = r"E:\demos\files\reports\\"
for file_name in os.listdir(path):
# construct full file path
file = path + file_name
if os.path.isfile(file):
print('Deleting file:', file)
os.remove(file)
Xóa một thư mục trống (thư mục) bằng cách sử dụng os.unlink(path, *, dir_fd=None)2
Mặc dù luôn luôn là trường hợp một thư mục có một số tệp, đôi khi có các thư mục hoặc thư mục trống không còn cần thiết. Chúng ta có thể xóa chúng bằng phương pháp
os.unlink(path, *, dir_fd=None)
2 có sẵn trong cả mô -đun OS và mô -đun Pathlib.Sử dụng phương pháp os.unlink(path, *, dir_fd=None)
4
Để xóa các thư mục trống, chúng ta có thể sử dụng hàm
os.unlink(path, *, dir_fd=None)
2 khỏi mô -đun HĐH.os.rmdir(path, *, dir_fd = None)
Sau đây là các tham số mà chúng ta cần chuyển sang phương pháp này.
os.unlink(path, *, dir_fd=None)
6 - Một đường dẫn tương đối hoặc tuyệt đối cho đối tượng thư mục thường ở định dạng chuỗi.os.unlink(path, *, dir_fd=None)
7 - Thư mục tệp. Giá trị mặc định là không có và giá trị này bị bỏ qua trong trường hợp đường dẫn tuyệt đối.
Lưu ý: Trong trường hợp nếu thư mục không trống thì import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
8 sẽ bị ném.: In case if the directory is not empty then the
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
8 will be thrown. import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
0Đầu ra
import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
1Sử dụng os.unlink(path, *, dir_fd=None)
9
Phương pháp
os.unlink(path, *, dir_fd=None)
2 trong mô -đun import os
os.unlink('profits.txt')
1 cũng được sử dụng để xóa hoặc xóa một thư mục trống.Hãy cho chúng tôi xem một ví dụ để xóa một thư mục trống có tên ‘Hình ảnh.
import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
2Xóa một thư mục không trống bằng cách sử dụng SHOTIL
Đôi khi chúng ta cần xóa một thư mục và tất cả các tệp có trong đó. Sử dụng phương thức
import os
os.unlink('profits.txt')
3 của mô -đun Shutil để xóa thư mục và tất cả các tệp khỏi nó. Xem Xóa một thư mục không trống trong Python.Mô-đun Python Shutil giúp thực hiện các hoạt động cấp cao trong một tệp hoặc bộ sưu tập các tệp như sao chép hoặc xóa nội dung.
import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
3Parameters::
os.unlink(path, *, dir_fd=None)
6 - Thư mục để xóa. Các liên kết tượng trưng đến một thư mục không được chấp nhận.import os
os.unlink('profits.txt')
5 - Nếu cờ này được đặt thành TRUE, thì các lỗi do loại bỏ không thành công sẽ bị bỏ qua. Nếu được đặt thành TRUE, lỗi phải được xử lý bởi hàm được truyền trong thuộc tính một lỗi.
Lưu ý: Hàm ____66 xóa thư mục được chỉ định và tất cả các thư mục con của nó đệ quy.: The
import os
os.unlink('profits.txt')
6 function deletes the specified folder and all its subfolders recursively.Xem xét ví dụ sau để xóa thư mục ‘Báo cáo có chứa các tệp hình ảnh và tệp PDF.
import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
4Đầu ra
import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
5Sử dụng os.unlink(path, *, dir_fd=None)
9
Phương pháp
os.unlink(path, *, dir_fd=None)
2 trong mô -đun import os
os.unlink('profits.txt')
1 cũng được sử dụng để xóa hoặc xóa một thư mục trống.import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
6Đầu tiên đặt đường dẫn cho thư mục: To delete File or directory
Tiếp theo, hãy gọi phương thức os.unlink(path, *, dir_fd=None)
2 trên đường dẫn đóHãy cho chúng tôi xem một ví dụ để xóa một thư mục trống có tên ‘Hình ảnh.
Xóa một thư mục không trống bằng cách sử dụng SHOTIL
Đôi khi chúng ta cần xóa một thư mục và tất cả các tệp có trong đó. Sử dụng phương thức
import os
os.unlink('profits.txt')
3 của mô -đun Shutil để xóa thư mục và tất cả các tệp khỏi nó. Xem Xóa một thư mục không trống trong Python.find the files and folders whose names follow a specific pattern.import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
8Mô-đun Python Shutil giúp thực hiện các hoạt động cấp cao trong một tệp hoặc bộ sưu tập các tệp như sao chép hoặc xóa nội dung.
os.unlink(path, *, dir_fd=None)
6 - Thư mục để xóa. Các liên kết tượng trưng đến một thư mục không được chấp nhận.import os
os.unlink('profits.txt')
5 - Nếu cờ này được đặt thành TRUE, thì các lỗi do loại bỏ không thành công sẽ bị bỏ qua. Nếu được đặt thành TRUE, lỗi phải được xử lý bởi hàm được truyền trong thuộc tính một lỗi.wildcard characters for the pattern matching, and the following is the list of the wildcard characters used in the pattern matching.- Lưu ý: Hàm ____66 xóa thư mục được chỉ định và tất cả các thư mục con của nó đệ quy.
- Xem xét ví dụ sau để xóa thư mục ‘Báo cáo có chứa các tệp hình ảnh và tệp PDF.
- Nhận thông báo ngoại lệ thích hợp trong khi xóa thư mục không trống
Để có được thông báo ngoại lệ thích hợp, chúng tôi có thể xử lý nó trong một hàm riêng mà chúng tôi có thể truyền trong tham số import os
os.unlink('profits.txt')7 hoặc bằng cách bắt nó trong khối Excet Try-Except.
Mã cuối cùng: Để xóa tệp hoặc thư mục
Mô -đun Glob Python, một phần của thư viện tiêu chuẩn Python, được sử dụng để & nbsp; tìm các tệp và thư mục có tên theo một mẫu cụ thể.
Thí dụ
import os
# remove file with absolute path
os.remove(r"E:\demos\files\sales_2.txt")
9Xóa tệp có tên bắt đầu bằng chuỗi cụ thể
os.remove(path, *, dir_fd = None)
0Xóa tệp có tên chứa một chữ cái cụ thể
Chúng ta có thể cung cấp một loạt các ký tự như chuỗi tìm kiếm bằng cách đặt chúng bên trong & NBSP; dấu ngoặc vuông (
import pathlib
# Setting the path for the file
file = pathlib.Path("profits.txt")
# Calling the unlink method on the path
file.unlink()
3).square brackets (import pathlib
# Setting the path for the file
file = pathlib.Path("profits.txt")
# Calling the unlink method on the path
file.unlink()
3).Ví dụ sau đây sẽ chỉ ra cách xóa các tệp có tên chứa các ký tự giữa A-G.
os.remove(path, *, dir_fd = None)
1Xóa các tệp khớp với một mẫu từ tất cả các thư mục con
Mặc dù hàm glob () tìm thấy các tệp bên trong một thư mục, có thể tìm kiếm các tệp bên trong các thư mục con bằng hàm
import pathlib
# Setting the path for the file
file = pathlib.Path("profits.txt")
# Calling the unlink method on the path
file.unlink()
6 tương tự như hàm glob ().Hàm
import pathlib
# Setting the path for the file
file = pathlib.Path("profits.txt")
# Calling the unlink method on the path
file.unlink()
6 trả về các tùy chọn Iterator với danh sách các tệp phù hợp với một mẫu bên trong thư mục và thư mục con của nó.Chúng ta cần đặt cờ đệ quy thành True khi chúng ta tìm kiếm các tệp trong các thư mục con. Sau tên thư mục gốc, chúng ta cần vượt qua
import pathlib
# Setting the path for the file
file = pathlib.Path("profits.txt")
# Calling the unlink method on the path
file.unlink()
8 để tìm kiếm bên trong các thư mục con.recursive flag to True when we search for the files in subdirectories. After the root folder name, we need to pass import pathlib
# Setting the path for the file
file = pathlib.Path("profits.txt")
# Calling the unlink method on the path
file.unlink()
8 for searching inside the subdirectories.os.remove(path, *, dir_fd = None)
2Đầu ra
os.remove(path, *, dir_fd = None)
3Sự kết luận
Python cung cấp một số mô -đun để xóa các tập tin và thư mục.
Để xóa các tệp: -: –
- Sử dụng các chức năng
import os
file_path = r'E:\demos\files\sales_2.txt'
if os.path.exists(file_path):
os.remove(file_path)
else:
print("The system cannot find the file specified")
0 và import os
file_path = r'E:\demos\files\sales_21.txt'
try:
os.remove(file_path)
except:
print("The system cannot find the file specified")
# your code
1 để xóa một tệp duy nhất - Sử dụng
import os
path = r"E:\demos\files\reports\\"
for file_name in os.listdir(path):
# construct full file path
file = path + file_name
if os.path.isfile(file):
print('Deleting file:', file)
os.remove(file)
1 để xóa một tệp nếu bạn sử dụng phiên bản Python> 3.4 và ứng dụng chạy trên các hệ điều hành khác nhau.
Để xóa thư mục
- Sử dụng
os.unlink(path, *, dir_fd=None)
4 hoặc os.unlink(path, *, dir_fd=None)
9 để xóa một thư mục trống - Sử dụng
import os
path = r"E:\demos\files\reports\\"
for file_name in os.listdir(path):
# construct full file path
file = path + file_name
if os.path.isfile(file):
print('Deleting file:', file)
os.remove(file)
4 để xóa đệ quy một thư mục và tất cả các tệp khỏi nó.
Hãy cẩn thận trước khi xóa các tệp hoặc thư mục vì tất cả các chức năng trên đều xóa các tệp và thư mục vĩnh viễn.