Hướng dẫn how do you delete a file or folder in python? - làm cách nào để xóa một tệp hoặc thư mục trong python?

Làm cách nào để xóa một tệp hoặc thư mục trong Python?

Đối với Python 3, để xóa từng tệp và thư mục, hãy sử dụng các phương thức đối tượng

>>> file_path.is_file[]
True
0 và
>>> file_path.is_file[]
True
1
>>> file_path.is_file[]
True
2 tương ứng:

from pathlib import Path
dir_path = Path.home[] / 'directory' 
file_path = dir_path / 'file'

file_path.unlink[] # remove file

dir_path.rmdir[]   # remove directory

Lưu ý rằng bạn cũng có thể sử dụng các đường dẫn tương đối với các đối tượng

>>> file_path.is_file[]
True
2 và bạn có thể kiểm tra thư mục làm việc hiện tại của mình với
>>> file_path.is_file[]
True
4.

Để xóa các tệp và thư mục riêng lẻ trong Python 2, hãy xem phần được dán nhãn bên dưới.

Để xóa một thư mục có nội dung, hãy sử dụng

>>> file_path.is_file[]
True
5 và lưu ý rằng điều này có sẵn trong Python 2 và 3:

from shutil import rmtree

rmtree[dir_path]

Trình diễn

Mới trong Python 3.4 là đối tượng

>>> file_path.is_file[]
True
2.

Hãy sử dụng một để tạo một thư mục và tệp để chứng minh việc sử dụng. Lưu ý rằng chúng tôi sử dụng

>>> file_path.is_file[]
True
7 để tham gia các phần của đường dẫn, điều này hoạt động xung quanh các vấn đề giữa các hệ điều hành và các vấn đề từ việc sử dụng dấu gạch chéo ngược trên Windows [nơi bạn cần tăng gấp đôi các dấu gạch chéo ngược của mình như
>>> file_path.is_file[]
True
8 hoặc sử dụng các chuỗi thô, như
>>> file_path.is_file[]
True
9] :

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]

và bây giờ:

>>> file_path.is_file[]
True

Bây giờ chúng ta hãy xóa chúng. Đầu tiên là tệp:

>>> file_path.unlink[]     # remove file
>>> file_path.is_file[]
False
>>> file_path.exists[]
False

Chúng ta có thể sử dụng Globbing để xóa nhiều tệp - trước tiên hãy tạo một vài tệp cho việc này:

>>> [directory_path / 'foo.my'].touch[]
>>> [directory_path / 'bar.my'].touch[]

Sau đó, chỉ lặp lại mô hình toàn cầu:

>>> for each_file_path in directory_path.glob['*.my']:
...     print[f'removing {each_file_path}']
...     each_file_path.unlink[]
... 
removing ~/directory/foo.my
removing ~/directory/bar.my

Bây giờ, chứng minh loại bỏ thư mục:

>>> directory_path.rmdir[] # remove directory
>>> directory_path.is_dir[]
False
>>> directory_path.exists[]
False

Điều gì sẽ xảy ra nếu chúng ta muốn xóa một thư mục và mọi thứ trong đó? Đối với trường hợp sử dụng này, hãy sử dụng

>>> file_path.is_file[]
True
5

Hãy tạo lại thư mục và tệp của chúng tôi:

file_path.parent.mkdir[]
file_path.touch[]

Và lưu ý rằng

>>> file_path.is_file[]
True
1 thất bại trừ khi nó trống, đó là lý do tại sao RMtree rất thuận tiện:

>>> directory_path.rmdir[]
Traceback [most recent call last]:
  File "", line 1, in 
  File "~/anaconda3/lib/python3.6/pathlib.py", line 1270, in rmdir
    self._accessor.rmdir[self]
  File "~/anaconda3/lib/python3.6/pathlib.py", line 387, in wrapped
    return strfunc[str[pathobj], *args]
OSError: [Errno 39] Directory not empty: '/home/username/directory'

Bây giờ, nhập RMtree và chuyển thư mục vào tiêu tốn:

from shutil import rmtree

rmtree[dir_path]
0

Và chúng ta có thể thấy toàn bộ sự việc đã bị xóa:

from shutil import rmtree

rmtree[dir_path]
1

Python 2

Nếu bạn đang ở trên Python 2, có một bản backport của mô -đun Pathlib có tên PathLib2, có thể được cài đặt với PIP:

from shutil import rmtree

rmtree[dir_path]
2

Và sau đó bạn có thể bí danh thư viện thành

>>> file_path.unlink[]     # remove file
>>> file_path.is_file[]
False
>>> file_path.exists[]
False
2

from shutil import rmtree

rmtree[dir_path]
3

Hoặc chỉ nhập trực tiếp đối tượng

>>> file_path.is_file[]
True
2 [như đã trình bày ở đây]:

from shutil import rmtree

rmtree[dir_path]
4

Nếu đó là quá nhiều, bạn có thể xóa các tệp bằng

>>> file_path.unlink[]     # remove file
>>> file_path.is_file[]
False
>>> file_path.exists[]
False
4 hoặc
>>> file_path.unlink[]     # remove file
>>> file_path.is_file[]
False
>>> file_path.exists[]
False
5

from shutil import rmtree

rmtree[dir_path]
5

hoặc

from shutil import rmtree

rmtree[dir_path]
6

Và bạn có thể xóa các thư mục bằng

>>> file_path.unlink[]     # remove file
>>> file_path.is_file[]
False
>>> file_path.exists[]
False
6:

from shutil import rmtree

rmtree[dir_path]
7

Lưu ý rằng cũng có một

>>> file_path.unlink[]     # remove file
>>> file_path.is_file[]
False
>>> file_path.exists[]
False
7 - nó chỉ loại bỏ các thư mục trống một cách đệ quy, nhưng nó có thể phù hợp với trường hợp sử dụng của bạn.

Bạn có thể xóa các 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. os.rmdir [] xóa một tệp hoặc một thư mục. Phương thức SOWN.RMTREE [] sẽ xóa một thư mục và các tệp có trong đó.

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

Chẳng hạn, hãy để nói rằng bạn đang tạo ra 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 bất kỳ tệp phân tích hiện có nào để nhường chỗ cho tệp mới.

Trong Python, bạn có thể sử dụng phương thức Os.Remove [] để xóa các tệp và phương thức Os.Rmdir [] để xóa một thư mục trống. Nếu bạn muốn xóa một thư mục với tất cả các tệp của nó, bạn có thể sử dụng phương thức SOWN.RMTREE [].

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 [] và showil.rmtree []. Chúng tôi cũng sẽ trải qua một ví dụ về từng phương pháp này được sử dụng để xóa một tệp hoặc thư mục.

Python Xóa Tệp hướng dẫn

Bạn có thể xóa các tệp bằng cách sử dụng phương thức python os.remove [], os.rmdir [] và swutil.rmtree []. Các phương thức này xóa một tệp, thư mục và thư mục với tất cả các tệp của nó, tương ứng.

Cách xóa một tệp trong 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.

Mô -đun HĐH cho phép các nhà phát triển giao tiếp với hệ thống hoạt động và tệp của máy tính. OS.Remove [] là một phương thức được bao gồm trong mô -đun HĐH Python cho phép bạn xóa một tệp riêng lẻ.

Trước khi chúng tôi 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 thư viện HĐH bằng câu lệnh nhập Python.

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

Bây giờ, chúng tôi đã sẵn sàng để bắt đầu xóa các tệp trong mô -đun Python the Os.Remove [] trong Python. Hãy cùng nhìn vào cú pháp cho phương thức đường dẫn Os.Remove []:

from shutil import rmtree

rmtree[dir_path]
8

Phương thức Os.Remove [] có một tham số: Vị trí của tệp bạn muốn xóa.

Hãy nói rằng chúng tôi đang tạo ra một chương trình phân tích điểm số mà học sinh kiếm được 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 được phân tích của chúng tôi. Nhưng, trước khi chương trình của chúng tôi tạo ra tệp đó, trước tiên chúng tôi cần đảm bảo rằng nó chưa tồn tại.

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

from shutil import rmtree

rmtree[dir_path]
9

Tệp của chúng tôi đã được xóa. Chúng tôi đã in thông báo sau đây đã được in vào bảng điều khiển bằng câu lệnh Python Print []:

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
0

Trên dòng đầu tiên, chúng tôi nhập mô -đun HĐH, chứa phương thức OS.Remove [] mà chúng tôi muốn tham khảo trong chương trình của chúng tôi. Sau đó, chúng tôi xác định một biến python 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 biến đường dẫn của chúng tôi là đườ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 []

Phương thức Os.Remove [] không thể được sử dụng để xóa một thư mục. Thay vào đó, chúng ta có thể sử dụng phương thức Os.Rmdir []. Phương thức 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. Tại đây, cú pháp cho phương thức OS.RMDIR []:

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
1

Hãy để nói rằng chúng tôi đã quyết định lưu trữ dữ liệu đã xử lý của chúng tôi trong một thư mục có tên Final In trong thư mục/trường học/trường học/toán học của chúng tôi. 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 thư mục thư mục cuối cùng. Điều này là do chương trình của chúng tôi sẽ tạo ra một chương trình mới với dữ liệu được xử lý.

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

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
2

Mã của chúng tôi xóa thư mục/home/School/Math/Final và trả lại thông báo sau cho bảng điều khiển:

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
3

Phương thức OS.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 các tệp, lỗi sau sẽ được trả về:

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
4

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

Trong các ví dụ trên, chúng tôi đã tuyên bố rằng, trong một số trường hợp, một lỗi cho phép có thể được trả lại bằng một đối số. Nếu chúng ta sử dụng Os.Remove [] để xóa thư mục, sẽ được trả về. Nếu chúng ta sử dụng os.rmdir [] để xóa một thư mục có chứa các tệp, một lỗi sẽ được trả về.

Khi bạn xóa các tệp trong một chương trình, bạn có thể muốn có một chức năng xử lý các lỗi của bạn một cách duyên dáng nếu có lỗi. Chúng ta có thể làm điều này bằng cách sử dụng một thử ngoại trừ khối.

Ở đây, ví dụ của chúng tôi về phương thức 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 nêu ra:

"Karma nghề nghiệp bước vào cuộc sống của tôi khi tôi cần nó nhất và nhanh chóng giúp tôi kết hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi tìm thấy công việc mơ ước của mình phù hợp với các giá trị và mục tiêu của tôi trong cuộc sống!"

Sao Kim, Kỹ sư phần mềm tại Rockbot

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
5

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ả về, thư mục của chúng tôi sẽ bị xóa và thông báo sau sẽ được trả về:

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
3

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 có chứa các tệp, ví dụ, thông báo sau sẽ được trả về:

Trong mã của chúng tôi, chúng tôi đã sử dụng một thử ngoại trừ khối. Quy trình này trước tiên chạy các dòng mã trong khối thử. Nếu gặp lỗi, nó sẽ chạy mã trong khối ngoại trừ. Trong trường hợp này, khối ngoại trừ 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ề xử lý lỗi bằng cách sử dụng thử ngoại trừ các 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

Thư viện Shutil bao gồm một phương thức gọi là SHOWIL.RMTREE [] có thể được sử dụng để xóa một thư mục có chứa các tệp.

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

Tại đây, Syntax cho phương thức SHOWIL.RMTREE []:

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
7

Lưu ý rằng chúng tôi đã nhập mô -đun Shutil trong mã của chúng tôi. Đó là bởi vì SOWN.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 chúng tôi có thể sử dụng nó.

Hãy cùng đi qua một ví dụ để cho thấy phương pháp này có thể được sử dụng như thế nào. Giả sử rằng chương trình phân tích lớp 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 của nó, chúng tôi có thể sử dụng mã sau:

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
8

Mã của chúng tôi sẽ loại bỏ thư mục cuối cùng và tất cả các nội dung của nó, sau đó in thông báo sau vào bảng điều khiển:

from pathlib import Path

# .home[] is new in 3.5, otherwise use os.path.expanduser['~']
directory_path = Path.home[] / 'directory'
directory_path.mkdir[]

file_path = directory_path / 'file'
file_path.touch[]
9

Sự kết luận

Loại bỏ các tập tin là một hoạt động phổ biến trong Python. Phương thức Os.Remove [] có thể được sử dụng để xóa một tệp cụ thể và phương thức Os.RmDir [] có thể được sử dụng để xóa một thư mục trống. Ngoài ra, bạn có thể sử dụng phương thức SOWN.RMTREE [] để xóa một thư mục chứa một hoặc nhiều tệp.

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

Làm thế nào để bạn xóa một tệp trong Python?

Có nhiều cách để xóa một tệp trong Python nhưng cách tốt nhất là như sau:..
hệ điều hành.Xóa [] Xóa một tệp ..
hệ điều hành.Hủy liên kết [] xóa một tệp.nó là một tên UNIX của phương thức Remove [] ..
giao thoa.rmtree [] xóa một thư mục và tất cả các nội dung của nó ..
Pathlib.Đường dẫn..

Phương pháp nào được sử dụng để xóa một tệp trong Python?

Xóa [] Phương thức trong Python được sử dụng để xóa hoặc xóa đường dẫn tệp.

Làm cách nào để xóa các tệp trong một thư mục?

Mở máy tính hoặc Windows Explorer của tôi. Lừa và chọn tệp hoặc thư mục bạn muốn xóa, nhấp vào Tệp trong thanh menu trên cùng và chọn Xóa. Locate and select the file or folder you want to delete, click File in the top menu bar, and select Delete.

Làm cách nào để xóa một thư mục và một tệp trong một thư mục?

Xóa một tệp hoặc thư mục [Windows 10] Nhấp vào biểu tượng Explorer tệp.Chuyển đến vị trí nơi lưu trữ tệp hoặc thư mục của bạn.Nhấp vào tên của tệp hoặc thư mục bạn muốn xóa.Nhấn phím Xóa [trên bàn phím] hoặc nhấp chuột phải vào tệp hoặc thư mục và nhấp vào Xóa.Click File Explorer icon. Go to the location where stores your file or folder. Click the name of the file or folder you wish to delete. Press the delete key [on the keyboard] or right click the file or folder and click Delete.

Bài Viết Liên Quan

Chủ Đề