Xóa tệp python nếu tồn tại

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách xóa một tệp không còn cần thiết. Trong Python, bạn có thể dễ dàng thực hiện việc này bằng phương thức remove(), rmdir(), rmtree() trong module OS

Ghi chú. Tệp hoặc thư mục sau khi bị xóa sẽ bị xóa vĩnh viễn

Mô-đun hệ điều hành Python là gì

Nếu bạn muốn tương tác với hệ điều hành thông qua Python, bạn sẽ phải thực hiện điều đó thông qua mô-đun HĐH. Mô-đun này có nhiều chức năng để tạo, xóa hoặc thay đổi nội dung của một thư mục trong HĐH. Bạn có thể sử dụng các hàm python của nó như name(), environ(), getuid() và uname() để giao tiếp với các hệ điều hành như Mac, Windows và Linux

Làm cách nào để xóa tệp trong Python?

Bạn có thể sử dụng phương pháp sau để xóa tệp hoặc thư mục trong Python

  1. hệ điều hành. remove() chỉ xóa tệp
  2. hệ điều hành. rmdir() xóa một thư mục rỗng
  3. đóng cửa. rmtree() xóa một thư mục và tất cả nội dung của nó
  4. hủy liên kết () chỉ xóa tệp

Sử dụng hệ điều hành. phương thức remove() để xóa một tệp

Mã số

# Importing the OS library
import os

# Inbuilt function to remove files
os.remove("demo.txt")
print("File removed successfully")

đầu ra

File removed successfully

Trong ví dụ trên, chúng tôi chỉ xóa tệp;

hệ điều hành. Phương thức remove() sẽ tìm kiếm tệp cần xóa trong thư mục làm việc

Kiểm tra xem Tệp có tồn tại bằng os không. đường dẫn. isfile

Để tránh lỗi, chúng ta có thể kiểm tra xem một tệp đã cho có tồn tại hay không rồi thực hiện thao tác xóa tệp

Mã số

#importing the OS Library
import os

#checking if file exist or not
if(os.path.isfile("demo.txt")):
    
    #Inbuilt function to remove files
    os.remove("demo.txt")
    
    #Printing the confirmation message
    print("File removed successfully")
else:
print("File does not exist") 

đầu ra

File removed successfully

Trong ví dụ trên trước khi xóa tệp, trước tiên chúng tôi kiểm tra xem tệp có tồn tại ở một vị trí cụ thể hay không và sau đó xóa tệp

Xóa tệp tại một vị trí cụ thể bằng os. đường dẫn. tham gia

Mã số

# Python Program to remove file on the specified location

# Importing the OS library
import os

# Specify file path
path = "D:\Temp"

# File name to remove
fileName = "demo.txt"

# Creat file path
accurateLocation = os.path.join(path,fileName)

# check if file exist or not
if(os.path.isfile(accurateLocation)):
    
    # Remove files
    os.remove(accurateLocation)
    
    # Print confirmation message
    print("File removed successfully")
else:
print("File does not exist")

đầu ra

File removed successfully

Trong ví dụ trên, chúng tôi đang sử dụng os. rmdir mô-đun để xóa thư mục ở một vị trí cụ thể;

Ứng dụng hiển thị File Removed. thông điệp. Khi bạn nhìn vào thư mục ban đầu chứa ChangedFile. csv, bạn thấy rằng tệp đã biến mất

Nhiệm vụ có vẻ đơn giản trong trường hợp này, và đó là. Tất cả những gì bạn cần làm để xóa tệp là gọi os. remove() với tên tệp và đường dẫn thích hợp (Python mặc định cho thư mục hiện tại, vì vậy bạn không cần chỉ định đường dẫn nếu tệp bạn muốn xóa nằm trong thư mục mặc định). Mức độ dễ dàng mà bạn có thể thực hiện nhiệm vụ này gần như đáng sợ vì nó quá dễ dàng.

Đặt các biện pháp bảo vệ tại chỗ luôn là một ý tưởng hay. Bạn có thể muốn xóa các mục khác, vì vậy đây là các chức năng khác mà bạn nên biết

  • hệ điều hành. rmdir(). Xóa thư mục đã chỉ định. Thư mục phải trống hoặc Python sẽ hiển thị thông báo ngoại lệ

  • đóng cửa. rmtree(). Xóa thư mục đã chỉ định, tất cả các thư mục con và tất cả các tệp. Chức năng này đặc biệt nguy hiểm vì nó loại bỏ mọi thứ mà không cần kiểm tra (Python cho rằng bạn biết mình đang làm gì). Do đó, bạn có thể dễ dàng bị mất dữ liệu khi sử dụng chức năng này

    Mô-đun hệ điều hành trong Python cung cấp các chức năng để tương tác với hệ điều hành. Mô-đun tiện ích tiêu chuẩn này cung cấp một cách di động để sử dụng chức năng phụ thuộc vào hệ điều hành. Mô-đun này có thể xóa tệp hoặc đường dẫn tệp nhưng không thể xóa thư mục. Nếu đường dẫn được chỉ định là một thư mục, thì mô-đun sẽ tăng OSError

    cú pháp

    os.remove(path, *, dir_fd = None)

    Trường hợp 1. Để loại bỏ một tập tin

    Đầu vào

    import os
    
    file = 'file.txt'  
    location = "/home/User/Documents"
    path = os.path.join(location, file)  
    os.remove(path)
    
    print (“The file has been removed")

    đầu ra

    ________số 8

    Trong đoạn mã trên, trước tiên chúng tôi chỉ định tệp nào chúng tôi muốn xóa và vị trí của tệp đó. Sau đó, sau khi tham gia, chúng tôi sử dụng hệ điều hành. thao tác remove() để xóa nó

    trường hợp 2. Đường dẫn được chỉ định là một thư mục

    Đầu vào

    import os
    
    path = "/home/User/Documents/abcdef"
      
    os.remove(path)
    print (“The file has been removed")

    đầu ra

    File removed successfully
    0

    Ở đây, chúng tôi không cần sử dụng thao tác 'tham gia' vì chúng tôi trực tiếp chỉ định vị trí chính xác. Đảm bảo nhập thư viện hệ điều hành trước khi sử dụng hệ điều hành. loại bỏ() chức năng





    Sử dụng mô-đun pathlib để xóa tệp trong Python

    Mô-đun pathlib rất hữu ích trong việc xóa hoặc xóa tệp trong Python 3. 4 trở lên. Nó tương tự như hệ điều hành. remove() và phải tạo một đối tượng đường dẫn lúc đầu

    Đầu vào

    File removed successfully
    1

    Khi một thể hiện của lớp Path được tạo, WindowsPath hoặc PosixPath sẽ được trả về tùy theo máy bạn đang làm việc. Và hàm unlink() được sử dụng để xóa tệp hoặc liên kết tượng trưng


    Xóa thư mục trống

    Không thể sử dụng hai cách tiếp cận trên để xóa thư mục. hệ điều hành. Hàm rmdir() trong mô-đun hệ điều hành có thể xóa một thư mục trống trong Python

    Đầu vào

    File removed successfully
    2

    đầu ra

    File removed successfully
    3

    hệ điều hành. Hàm rmdir() 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ề

    Đầu vào

    File removed successfully
    4

    đầu ra

    File removed successfully
    5

    Xóa thư mục không trống

    Bạn có thể sử dụng mô-đun thao tác tệp cấp cao, Shutil để xóa tệp hoặc bộ sưu tập tệp. Bạn có thể sử dụng mô-đun này theo cách tương tự như mô-đun os. rmdir() nhưng tại đây bạn cũng có thể xóa các thư mục không trống. Tất cả nội dung bên trong thư mục cũng bị xóa

    Đầu vào

    import os
    
    file = 'file.txt'  
    location = "/home/User/Documents"
    path = os.path.join(location, file)  
    os.remove(path)
    
    print (“The file has been removed")
    0

    đầu ra

    import os
    
    file = 'file.txt'  
    location = "/home/User/Documents"
    path = os.path.join(location, file)  
    os.remove(path)
    
    print (“The file has been removed")
    1

    Chỉ cần nhớ rằng bạn không thể xóa một tệp duy nhất bằng Shutil. hàm rmtree(). Để xóa một tệp, bạn có thể sử dụng lệnh os. remove() và mô-đun pathlib đã được minh họa ở trên


    Bớt tư tưởng

    Trong Python, xóa tệp là một thao tác rất phổ biến. hệ điều hành. remove() và mô-đun pathlib có thể xóa một tệp. Trong khi hệ điều hành. Hàm rmdir() xóa thư mục trống và mô-đun Shutil xóa thư mục không trống trong Python. Bạn có thể tìm hiểu các khái niệm Python khác tại đây