Computer >> Máy Tính >  >> Lập trình >> Python

Xóa tệp trong Python:Hướng dẫn từng bước

Bạn có thể xóa tệp khỏi máy tính của mình bằng Python. Phương thức os.remove () xóa các tệp Python đơn lẻ. os.rmdir () xóa một tệp hoặc một thư mục. Phương thức shutil.rmtree () sẽ xóa một thư mục và các tệp chứa trong đó.


Các nhà phát triển sử dụng các tệp trong các chương trình Python cho nhiều mục đích. Khi bạn đang làm việc với tệp, một trong những chức năng quan trọng nhất bạn cần biết là cách xóa tệp.

Ví dụ:giả sử bạn đang tạo một chương trình phân tích hiệu suất của chỉ số S&P 500 và lưu trữ kết quả trong một tệp. Bạn có thể muốn xóa mọi tệp phân tích hiện có để nhường chỗ cho tệp mới.

Trong Python, bạn có thể sử dụng os.remove () để xóa tệp và os.rmdir () phương pháp để xóa một thư mục trống. Nếu bạn muốn xóa một thư mục có tất cả các tệp của nó, bạn có thể sử dụng shutil.rmtree () phương pháp.

Hướng dẫn này sẽ thảo luận về cách xóa các tệp và thư mục Python bằng os.remove () , os.rmdir () shutil.rmtree () . Chúng ta cũng sẽ xem xét một ví dụ về từng phương pháp này được sử dụng để xóa tệp hoặc thư mục.

Hướng dẫn xóa tệp trong Python

Bạn có thể xóa tệp bằng phương thức Python os.remove (), os.rmdir () và shutil.rmtree (). Các phương pháp này lần lượt xóa một tệp, một thư mục và một thư mục có tất cả các tệp của nó.

Cách xóa tệp bằng Python bằng os.remove ()

Phương thức Python os.remove () xóa một tệp khỏi hệ điều hành của bạn. os.remove () chỉ xóa một tệp duy nhất. Nó không thể xóa một thư mục.

The os mô-đun cho phép các nhà phát triển giao diện với hệ điều hành và hệ thống tệp của máy tính. os.remove () là một phương thức được bao gồm trong Python os mô-đun cho phép bạn xóa một tệp riêng lẻ.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia chương trình đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Trước khi bắt đầu làm việc với các phương pháp này, chúng tôi cần nhập os thư viện sử dụng câu lệnh nhập Python.

The os thư viện tạo điều kiện cho các tương tác với hệ điều hành bằng Python. Chúng tôi có thể làm như vậy bằng cách sử dụng mã sau:

import os

Bây giờ chúng tôi đã sẵn sàng để bắt đầu xóa tệp bằng Python the os.remove () mô-đun bằng Python. Hãy xem cú pháp của os.remove () phương pháp đường dẫn:

import os

os.remove(file_location)

os.remove () phương thức nhận một tham số:vị trí của tệp bạn muốn xóa.

Giả sử chúng tôi đang tạo một chương trình phân tích điểm của học sinh trong một lớp toán trong suốt một năm.

Chúng tôi muốn tạo một tệp có tên là /home/school/math/final_analysis.csv với dữ liệu đã phân tích của chúng tôi. Tuy nhiên, trước khi chương trình của chúng tôi tạo tệp đó, trước tiên chúng tôi cần đảm bảo rằng tệp đó chưa tồn tại.

Chúng tôi có thể sử dụng mã sau để xóa tệp này:

import os

path = "/home/school/math/final_analysis.csv"

os.remove(path)

print("final_analysis.csv has been deleted.")

Tệp của chúng tôi đã bị xóa. Chúng tôi đã in thông báo sau đã được in ra bảng điều khiển bằng câu lệnh Python print ():

final_analysis.csv has been deleted.

Trên dòng đầu tiên, chúng tôi nhập os mô-đun chứa os.remove () phương pháp mà chúng tôi muốn tham chiếu trong chương trình của mình. Sau đó, chúng tôi xác định một biến Python được gọi là đường dẫn . Biến này lưu trữ đường dẫn tệp cho tệp chúng tôi muốn xóa.

Sau đó, chúng tôi sử dụng os.remove () và chỉ định đường dẫn của chúng tôi biến dưới dạng đường dẫn tệp, sẽ xóa tệp của chúng tôi.

Xóa thư mục trống bằng Python os.rmdir ()

os.remove () không thể sử dụng phương pháp để xóa một thư mục. Thay vào đó, chúng ta có thể sử dụng phương thức os.rmdir (). os.rmdir () được sử dụng để xóa một tệp hoặc thư mục trống.

os.rmdir () chấp nhận một tham số:đường dẫn của tệp bạn muốn xóa. Đây là cú pháp cho os.rmdir () phương pháp:

import os

os.rmdir(file_path)

Giả sử rằng chúng tôi đã quyết định lưu trữ dữ liệu đã xử lý của mình trong một thư mục có tên là cuối cùng trong / home / school / math của chúng tôi danh mục. Mỗi khi chúng tôi chạy chương trình của mình, chúng tôi muốn xóa cuối cùng thư mục thư mục. Điều này là do chương trình của chúng tôi sẽ tạo một chương trình mới với dữ liệu đã xử lý.

Chúng tôi có thể sử dụng mã sau để xóa cuối cùng thư mục:

import os

path = "/home/school/math/final"

os.rmdir(path)

print("/home/school/math/final has been deleted.")

Mã của chúng tôi sẽ xóa thư mục / home / school / math / final và trả về thông báo sau cho bảng điều khiển:

/home/school/math/final has been deleted.

os.rmdir () phương pháp chỉ có thể được sử dụng để xóa một thư mục trống. Nếu bạn chỉ định một thư mục chứa tệp, lỗi sau sẽ được trả về:

[Errno 13] Permission denied: '/home/school/math/final' Directory 'final' can not be removed

Xử lý lỗi hệ điều hành Python

Trong các ví dụ trên, chúng tôi đã nói rằng, trong một số trường hợp, một đối số có thể trả về lỗi quyền. Nếu chúng tôi sử dụng os.remove () để xóa một thư mục, một lỗi sẽ được trả về. Nếu chúng tôi sử dụng os.rmdir () để xóa thư mục có chứa tệp, lỗi sẽ được trả về.

Khi xóa tệp trong một chương trình, bạn có thể muốn có một chức năng xử lý lỗi của bạn một cách linh hoạt nếu lỗi phát sinh. Chúng tôi có thể thực hiện việc này bằng cách sử dụng thử ngoại trừ khối.

Đây là ví dụ của chúng tôi về os.rmdir () ở trên, nhưng với cơ chế xử lý lỗi sẽ in một thông báo được xác định trước nếu các ngoại lệ được đưa ra:

import os

path = "/home/school/math/final"

try:
	os.rmdir(path)
	print("/home/school/math/final has been deleted.")
except OSError as error:
	print("There was an error.")

Bây giờ, nếu chúng tôi chạy mã của mình và không có lỗi nào được trả lại, thư mục của chúng tôi sẽ bị xóa và thông báo sau sẽ được trả lại:

/home/school/math/final has been deleted.

Tuy nhiên, nếu chúng tôi chạy mã của mình và cố gắng xóa một thư mục chứa tệp, chẳng hạn, thông báo sau sẽ được trả lại:

There was an error.

Trong mã của chúng tôi, chúng tôi đã sử dụng thử ngoại trừ khối. Quy trình này trước tiên chạy các dòng mã trong try khối. Nếu gặp lỗi, nó sẽ chạy mã trong ngoại trừ khối. Trong trường hợp này, ngoại trừ khối sẽ chỉ được thực thi nếu một OSError được nâng lên.

Nếu bạn muốn tìm hiểu thêm về cách xử lý lỗi bằng cách sử dụng thử ngoại trừ khối trong Python, hãy đọc hướng dẫn của chúng tôi về Python, hãy thử ngoại trừ.

Xóa tệp Python bằng thư mục

Shutil thư viện bao gồm một phương thức có tên là shutil.rmtree () có thể được sử dụng để xóa thư mục chứa tệp.

Thư viện Shutil cung cấp một số chức năng liên quan đến hoạt động của tệp. Trong trường hợp của chúng tôi, chúng tôi muốn tập trung vào shutil.rmtree () phương thức này xóa toàn bộ cây thư mục.

Đây là cú pháp của shutil.rmtree () phương pháp:

import shutil

shutil.rmtree(file_path)

Lưu ý rằng chúng tôi đã nhập mô-đun Shutil trong mã của chúng tôi. Đó là vì shutil.rmtree () là một phần của thư viện bên ngoài, như os.remove () , vì vậy chúng tôi cần nhập thư viện trước khi có thể sử dụng nó.

Hãy xem qua một ví dụ để cho thấy cách sử dụng phương pháp này. Giả sử rằng chương trình phân tích điểm của chúng tôi cần xóa thư mục cuối cùng , nhưng thư mục đó đã bao gồm các tệp với dữ liệu được xử lý của chúng tôi. Để xóa thư mục và tất cả các tệp trong đó, chúng tôi có thể sử dụng mã sau:

import shutil

path = "/home/school/math/final"

shutil.rmtree(path)

print("/home/school/math/final has been removed.")

Mã của chúng tôi xóa thư mục final và tất cả nội dung của nó, sau đó in thông báo sau vào bảng điều khiển:

/home/school/math/final has been deleted.

Kết luận

Xóa tệp là một thao tác phổ biến trong Python. os.remove () có thể được sử dụng để xóa một tệp cụ thể và os.rmdir () có thể được sử dụng để loại bỏ một thư mục trống. Ngoài ra, bạn có thể sử dụng shutil.rmtree () phương pháp xóa thư mục chứa một hoặc nhiều tệp.

Để tìm hiểu thêm về cách viết mã bằng Python, hãy đọc hướng dẫn đầy đủ của chúng tôi về Cách học Python.