Python xóa thư mục cuối cùng khỏi đường dẫn

Đô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 mọi tệp dữ liệu hiện có 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 để xóa tệp và thư mục

FunctionDescription
os.remove[path, *, dir_fd = None]
4Xóa tệp đã chỉ định.
os.remove[path, *, dir_fd = None]
5Xóa tệp đã chỉ định. Hữu ích trong môi trường UNIX.
os.remove[path, *, dir_fd = None]
6Xóa tệp hoặc liên kết tượng trưng trong đường dẫn được đề cập
os.remove[path, *, dir_fd = None]
7Xóa thư mục trống.
os.remove[path, *, dir_fd = None]
8Hủy liên kết và xóa thư mục trống.
os.remove[path, *, dir_fd = None]
9Xóa một thư mục và các tập tin chứa trong đó. Chức năng xóa tập tin và thư mục

Ghi chú

  • Tất cả các chức năng trên xóa các tập tin và thư mục vĩnh viễn
  • Mô-đun pathlib đã được thêm vào Python 3. 4. Thích hợp khi ứng dụng của bạn chạy trên hệ điều hành khác

Mục lục

Cách xóa tệp trong Python

Python cung cấp hỗ trợ mạnh mẽ cho việc xử lý tệp. Chúng tôi có thể xóa các tệp bằng các phương pháp khác nhau và phương pháp được sử dụng phổ biến nhất là 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. Dưới đây là các bước để xóa một tập tin

  1. Tìm đường dẫn của một tập tin

    Chúng tôi có thể xóa 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.
    Đường dẫn tuyệt đối chứa danh sách thư mục đầy đủ 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ụ, 

    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 là một đường dẫn tuyệt đối để khám phá các mẫu. txt.

  2. sử dụng hệ điều hành. hàm remove[] để xóa File

    Mô-đun HĐH trong Python cung cấp các phương thức để tương tác với Hệ điều hành trong Python. 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"]
    2[] trong mô-đun này được sử dụng để xóa/xóa đường dẫn tệp.
    Đầu tiên, nhập mô-đun os và Truyền đường dẫn tệp tới hàm
    os.remove[path, *, dir_fd = None]
    4 để xóa tệp khỏi đĩa

  3. Sử dụng chức năng rmtree[] của Shutil module để xóa một thư mục

    Nhập mô-đun Shutil và chuyển đường dẫn thư mục tới 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 một thư mục và tất cả các tệp có trong đó

Ví dụ. Xóa tệp trong Python

Đoạn mã sau giải thích cách xóa tệp có tên “sales_1. txt”

Giả sử chúng ta muốn xóa sales_1. txt từ 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

  1. doanh số_1. txt
  2. doanh số_2. csv
  3. lợi nhuận. txt
  4. doanh thu. txt

Xóa tệp có đường dẫn tương đối

os.remove[path, *, dir_fd = None]
2

Xóa tệp có đường dẫn tuyệt đối

os.remove[path, *, dir_fd = None]
3

Mã của chúng tôi đã xóa hai tệp. Đây là danh sách các tệp còn lại trong thư mục của chúng tôi

  • lợi nhuận. txt
  • doanh thu. txt

Trước khi xóa một tập tin

Sau khi xóa một tập tin

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

cú pháp

os.remove[path, *, dir_fd = None]

Truyền đường dẫn tệp tới hàm

os.remove[path, *, dir_fd = None]
4 để xóa tệp khỏi đĩa

Sau đây là các tham số mà chúng ta cần phải vượt qua

  • đường dẫn – Đường dẫn tương đối hoặc tuyệt đối cho đối tượng tệp thường ở định dạng chuỗi
  • dir_fd – Một thư mục đại diện cho vị trí của tập tin. Giá trị mặc định là không và giá trị này bị bỏ qua trong trường hợp đường dẫn tuyệt đối

Nếu đường dẫn tệp đã 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ẽ xuất hiện

Kiểm tra xem tệp có tồn tại trước khi xóa 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âng lên nếu tệp không được tìm thấy trong đường dẫn, vì vậy nên kiểm tra xem tệp có tồn tại trước khi xóa tệp không

Điều này có thể đạt được theo hai cách

  • Hàm
    os.remove[path, *, dir_fd = None]
    90 để kiểm tra xem tệp có tồn tại không
  • Sử dụng xử lý ngoại lệ

ví dụ 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"]

Ghi chú. Bạn nên xử lý ngoại lệ khi kiểm tra tệp vì tệp có thể bị xóa hoặc thay đổi giữa các lần. Đó là cách Pythonic để xóa một tệp có thể tồn tại hoặc không tồn tại

ví dụ 2. xử lý ngoại lệ

os.remove[path, *, dir_fd = None]
9

Xóa tệp bằng phương pháp
os.remove[path, *, dir_fd = None]
91

Nếu bạn đang sử dụng hệ điều hành UNIX, hãy sử dụng phương thức

os.remove[path, *, dir_fd = None]
92 có sẵn trong mô-đun
os.remove[path, *, dir_fd = None]
93, phương thức này tương tự như phương thức remove[] ngoại trừ việc nó quen thuộc hơn trong môi trường
os.remove[path, *, dir_fd = None]
94

os.remove[path, *, dir_fd = None]
6
  • đường dẫn – Đường dẫn tương đối hoặc tuyệt đối cho đối tượng tệp thường ở định dạng chuỗi
  • dir_fd – Một thư mục đại diện cho vị trí của tập tin. Giá trị mặc định là không và giá trị này bị bỏ qua trong trường hợp đường dẫn tuyệt đối

Hãy cho chúng tôi xem mã để xóa tệp “lợi nhuận. txt” nằm trong đường dẫn thực thi hiện tại

os.remove[path, *, dir_fd = None]
7

Mô-đun Pathlib để xóa tệp

Mô-đun pathlib cung cấp các lớp đại diện cho các đường dẫn hệ thống tệp với ngữ nghĩa phù hợp với các hệ điều hành khác nhau. Như vậy, bất cứ khi nào chúng ta cần làm việc với các tệp trong nhiều môi trường, chúng ta có thể sử dụng mô-đun pathlib

Mô-đun pathlib đã được thêm vào Python 3. 4. Phương thức

os.remove[path, *, dir_fd = None]
95 trong mô-đun pathlib được sử dụng để xóa tệp trong đường dẫn được đề cập

Ngoài ra, nó cần thêm một tham số, cụ thể là

os.remove[path, *, dir_fd = None]
96. 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. Ngược lại, nếu đường dẫn 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ó trong đường dẫn thực thi hiện tại

  • Nhập mô-đun pathlib
  • Sử dụng phương pháp
    os.remove[path, *, dir_fd = None]
    98 để đặt đường dẫn tệp
  • Tiếp theo, để xóa một tệp, hãy gọi phương thức
    os.remove[path, *, dir_fd = None]
    92 trên đường dẫn tệp đã cho
os.remove[path, *, dir_fd = None]
3

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 một thư mục mà không 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 khỏi một thư mục

  • Lấy danh sách các tệp trong một thư mục bằng hàm
    os.remove[path, *, dir_fd = None]
    60. 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 danh sách bằ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

Ví dụ

os.remove[path, *, dir_fd = None]
6

Xóa một Thư mục trống [Thư mục] bằng cách sử dụng
os.remove[path, *, dir_fd = None]
62

Mặc dù luôn có trường hợp một thư mục có một số tệp, nhưng đôi khi có những thư mục hoặc thư mục trống không còn cần thiết nữa. Chúng ta có thể xóa chúng bằng cách sử dụng phương pháp

os.remove[path, *, dir_fd = None]
62 có sẵn trong cả mô-đun os và mô-đun pathlib

Sử dụng phương pháp

os.remove[path, *, dir_fd = None]
64

Để xóa các thư mục trống, chúng ta có thể sử dụng chức năng

os.remove[path, *, dir_fd = None]
62 từ mô-đun os

os.remove[path, *, dir_fd = None]
1

Sau đây là các tham số mà chúng ta cần truyền cho phương thức này

  • os.remove[path, *, dir_fd = None]
    66 – Đườ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.remove[path, *, dir_fd = None]
    67 – Thư mục tập tin. Giá trị mặc định là không và giá trị này bị bỏ qua trong trường hợp đường dẫn tuyệt đối

Ghi chú. 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

os.remove[path, *, dir_fd = None]
30

đầu ra

os.remove[path, *, dir_fd = None]
31

Sử dụng

os.remove[path, *, dir_fd = None]
69

Phương thức

os.remove[path, *, dir_fd = None]
62 trong mô-đun
os.remove[path, *, dir_fd = None]
71 cũng được sử dụng để loại bỏ hoặc xóa một thư mục trống

  • Đầu tiên đặt đường dẫn cho thư mục
  • Tiếp theo, gọi phương thức
    os.remove[path, *, dir_fd = None]
    62 trên đường dẫn đó

Hãy để chúng tôi xem một ví dụ để xóa một thư mục trống có tên là 'Hình ảnh'

os.remove[path, *, dir_fd = None]
32

Xóa một thư mục không trống bằng cách sử dụng Shutil

Đôi khi chúng ta cần xóa một thư mục và tất cả các tệp chứa trong đó. Sử dụng phương pháp

os.remove[path, *, dir_fd = None]
73 của mô-đun Shutil để xóa một 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 đóng cửa của Python giúp thực hiện các thao tác cấp cao trong tệp hoặc bộ sưu tập tệp như sao chép hoặc xóa nội dung

os.remove[path, *, dir_fd = None]
33

Thông số

  • os.remove[path, *, dir_fd = None]
    66 – Thư mục cần 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
  • os.remove[path, *, dir_fd = None]
    75 – Nếu cờ này được đặt thành true, thì các lỗi do xóa không thành công sẽ bị bỏ qua. Nếu được đặt thành true, lỗi sẽ được xử lý bởi hàm được truyền trong thuộc tính một lỗi

Ghi chú. Hàm ____273 xóa thư mục đã chỉ định và tất cả các thư mục con của nó theo cách đệ quy

Xem xét ví dụ sau để xóa thư mục 'báo cáo' chứa tệp hình ảnh và tệp pdf

os.remove[path, *, dir_fd = None]
34

đầu ra

os.remove[path, *, dir_fd = None]
35

Nhận thông báo ngoại lệ thích hợp trong khi xóa một thư mục không trống

Để nhận được thông báo ngoại lệ thích hợp, chúng ta có thể xử lý nó trong một hàm riêng biệt có tên mà chúng ta có thể chuyển vào tham số

os.remove[path, *, dir_fd = None]
77 hoặc bằng cách bắt nó trong khối try-ngoại trừ

os.remove[path, *, dir_fd = None]
36

mã cuối cùng. Để xóa File hoặc thư mục

os.remove[path, *, dir_fd = None]
37

Xóa các tệp khớp với một mẫu

Ví dụ: bạn muốn xóa tệp nếu tên chứa một chuỗi cụ thể

Mô-đun toàn cầu Python, một phần của Thư viện chuẩn Python, được dùng để tìm các tệp và thư mục có tên theo một mẫu cụ thể

os.remove[path, *, dir_fd = None]
38

Phương thức

os.remove[path, *, dir_fd = None]
78 trả về danh sách các tệp hoặc thư mục khớp với mẫu được chỉ định trong đối số
os.remove[path, *, dir_fd = None]
79

Hàm này nhận hai đối số, cụ thể là tên đường dẫn và cờ đệ quy [ Nếu được đặt thành 

os.remove[path, *, dir_fd = None]
30 thì hàm này sẽ tìm kiếm tệp theo cách đệ quy trong tất cả các thư mục con]

Chúng ta có thể sử dụng các ký tự đại diện để khớp mẫu và sau đây là danh sách các ký tự đại diện được sử dụng trong khớp mẫu

  • Dấu hoa thị [
    os.remove[path, *, dir_fd = None]
    31]. Khớp không hoặc nhiều ký tự
  • Dấu chấm hỏi [
    os.remove[path, *, dir_fd = None]
    32] khớp chính xác với một ký tự
  • Chúng tôi có thể chỉ định một dãy ký tự chữ và số bên trong 
    os.remove[path, *, dir_fd = None]
    33

Ví dụ. Xóa tệp có phần mở rộng cụ thể

Trong một số trường hợp nhất định, chúng tôi phải xóa tất cả các tệp có phần mở rộng cụ thể

  • Sử dụng phương pháp
    os.remove[path, *, dir_fd = None]
    34 để tìm tất cả các tệp văn bản trong một thư mục
  • Sử dụng vòng lặp for để lặp lại tất cả các tệp
  • Trong mỗi lần lặp lại, hãy xóa một tệp

Hãy cho chúng tôi xem một số ví dụ để hiểu cách sử dụng điều này để xóa các tệp khớp với một mẫu cụ thể

Ví dụ

os.remove[path, *, dir_fd = None]
39

Xóa tệp có tên bắt đầu bằng chuỗi cụ thể

os.remove[path, *, dir_fd = None]
0

Xóa tệp có tên chứa một chữ cái cụ thể

Chúng tôi có thể cung cấp một dải ký tự làm chuỗi tìm kiếm bằng cách đặt chúng bên trong dấu ngoặc vuông [

os.remove[path, *, dir_fd = None]
33]

Ví dụ sau sẽ trình bày 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]
1

Xó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 các tệp bên trong một thư mục, nhưng có thể tìm kiếm các tệp bên trong các thư mục con bằng cách sử dụng hàm

os.remove[path, *, dir_fd = None]
36 tương tự như hàm glob[]

Hàm

os.remove[path, *, dir_fd = None]
36 trả về các tùy chọn trình vòng lặp với danh sách các tệp khớ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 tìm kiếm các tệp trong thư mục con. Sau tên thư mục gốc, chúng ta cần chuyển

os.remove[path, *, dir_fd = None]
38 để tìm kiếm bên trong các thư mục con

os.remove[path, *, dir_fd = None]
2

đầu ra

os.remove[path, *, dir_fd = None]
3

Phần kết luận

Python cung cấp một số mô-đun để xóa tệp và thư mục

Để xóa tệp. –

  • Sử dụng các 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"]
    0 và
    os.remove[path, *, dir_fd = None]
    91 để xóa một tệp
  • Sử dụng
    os.remove[path, *, dir_fd = None]
    61 để xóa file nếu bạn dùng Python phiên bản >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.remove[path, *, dir_fd = None]
    64 hoặc
    os.remove[path, *, dir_fd = None]
    69 để xóa một thư mục trống
  • sử dụng
    os.remove[path, *, dir_fd = None]
    64 để xóa đệ quy một thư mục và tất cả các tệp khỏi thư mục đó

Hãy cẩn thận trước khi xóa tệp hoặc thư mục vì tất cả các chức năng trên sẽ xóa tệp và thư mục vĩnh viễn

Phương pháp nào loại bỏ phần tử cuối cùng trong một đường dẫn?

Phương thức JavaScript pop[] . Phương thức pop[] là một phương thức tích hợp để loại bỏ phần tử cuối cùng khỏi một mảng và trả về phần tử đó.

Làm cách nào để trích xuất thư mục hoặc tệp cuối cùng từ một đường dẫn trong Python?

basename[] - Nó trả về phần cuối cùng của đường dẫn. .
nhập đường dẫn os = os. con đường. tên cơ sở [os. .
nhập đường dẫn os = '/home/User/Desktop/sample. txt' # Tách đường dẫn trong cặp đầu và đuôi head_tail = os. con đường. .
nhập đường dẫn pathlib = pathlib. PurePath['/thư mụcS/thư mục/thư mục/thư mục/'] print[đường dẫn

Làm cách nào để lấy tên tệp từ đường dẫn trong Python?

Chương trình Python để lấy tên tệp từ đường dẫn tệp .
nhập os # tên tệp có phần mở rộng file_name = os. con đường. tên cơ sở ['/root/tệp. ext'] # tên tệp không có phần mở rộng print[os. con đường. splitext[file_name][0]] Chạy mã
nhập os print[os. con đường. splitext[file_name]].
từ pathlib nhập Đường dẫn in [Đường dẫn ['/ root/file. máy lẻ']. thân cây]

Chủ Đề