Bạn đang xem : hệ điều hành python3 xóa tệp
Làm cách nào để xóa tệp hoặc thư mục bằng Python?
Đối với Python 3, để xóa từng tệp và thư mục, hãy sử dụng hủy liên kết
và rmdir Các phương thức đối tượng
Path
tương ứng:
từ đường dẫn nhập pathlib
dir_path = Path.home () / 'thư mục'
file_path = dir_path / 'file'
file_path.unlink () # xóa tệp
dir_path.rmdir () # xóa thư mục
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 Path
và bạn có thể kiểm tra thư mục làm việc hiện tại của mình bằng Path.cwd
.
Để xóa các tệp và thư mục riêng lẻ trong Python 2, hãy xem phần được gắn nhãn bên dưới.
Để xóa thư mục có nội dung, hãy sử dụng shutil.rmtree
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
Điểm mới trong Python 3.4 là đối tượng Đường dẫn
.
Hãy sử dụng một cái để tạo 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 /
để nối các phần của đường dẫn, điều này giải quyết các vấn đề giữa các hệ điều hành và các vấn đề do sử dụng dấu gạch chéo ngược trên Windows (nơi bạn cần phải tăng gấp đôi dấu gạch chéo ngược của mình như \\
hoặc sử dụng các chuỗi thô, như r "foo \ bar"
):
từ đường dẫn nhập pathlib
# .home () mới trong 3.5, nếu không, hãy sử dụng os.path.expanduser ('~')
directory_path = Path.home () / 'directory'
directory_path.mkdir ()
file_path = directory_path / 'file'
file_path.touch ()
và bây giờ:
& gt; & gt; & gt; file_path.is_file ()
ĐÚNG VẬY
Bây giờ, hãy xóa chúng. Đầu tiên là tệp:
& gt; & gt; & gt; file_path.unlink () # xóa tệp
& gt; & gt; & gt; file_path.is_file ()
Sai
& gt; & gt; & gt; file_path.exists ()
Sai
Chúng tôi 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:
& gt; & gt; & gt; (directory_path / 'foo.my'). touch ()
& gt; & gt; & gt; (directory_path / 'bar.my'). touch ()
Sau đó, chỉ cần lặp lại mẫu hình cầu:
& gt; & gt; & gt; cho each_file_path trong directory_path.glob ('*. my'):
... print (f aremoving {each_file_path} ')
... each_file_path.unlink ()
...
loại bỏ ~ / directory / foo.my
loại bỏ ~ / directory / bar.my
Bây giờ, minh chứng cho việc xóa thư mục:
& gt; & gt; & gt; directory_path.rmdir () # remove directory
& gt; & gt; & gt; directory_path.is_dir ()
Sai
& gt; & gt; & gt; directory_path.exists ()
Sai
Điều gì xảy ra nếu chúng tôi 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 shutil.rmtree
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 rmdir
không thành công trừ khi nó trống, đó là lý do tại sao rmtree rất tiện lợi:
& gt; & gt; & gt; directory_path.rmdir ()
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "& lt; stdin & gt;", dòng 1, trong & lt; mô-đun & gt;
Tệp "~ / anaconda3 / lib / python3.6 / pathlib.py", dòng 1270, bằng rmdir
self._accessor.rmdir (tự)
Tệp "~ / anaconda3 / lib / python3.6 / pathlib.py", dòng 387, được bao bọc
trả về strfunc (str (specbj), * args)
OSError: [Errno 39] Thư mục không trống: '/ home / username / directory'
Bây giờ, hãy nhập rmtree và chuyển thư mục vào funtion:
from shutil import rmtree
rmtree (directory_path) # remove mọi thứ
và chúng ta có thể thấy toàn bộ nội dung đã bị xóa:
& gt; & gt; & gt; directory_path.exists ()
Sai
Python 2
Nếu bạn đang sử dụng Python 2, có một backport của mô-đun pathlib được gọi là pathlib2 , có thể được cài đặt bằng pip:
$ pip install pathlib2
Và sau đó, bạn có thể đặt bí danh thư viện thành pathlib
nhập pathlib2 dưới dạng pathlib
Hoặc chỉ cần nhập trực tiếp đối tượng Đường dẫn
(như được minh họa ở đây):
từ Đường dẫn nhập pathlib2
Nếu quá nhiều, bạn có thể xóa các tệp bằng os.remove
hoặc os.unlink
từ hủy liên kết nhập hệ điều hành, xóa
từ tham gia nhập os.path, mở rộng người dùng
loại bỏ (tham gia (mở rộng người dùng ('~'), 'thư mục / tệp'))
hoặc
hủy liên kết (tham gia (expanduser ('~'), 'thư mục / tệp'))
và bạn có thể xóa các thư mục bằng os.rmdir
:
từ hệ điều hành nhập rmdir
rmdir (tham gia (expanduser ('~'), 'directory'))
Lưu ý rằng cũng có os.removedirs
– nó chỉ xóa 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. p>
Xem thêm những thông tin liên quan đến chủ đề python3 os loại bỏ tệp
Python Tutorial: OS Module – Use Underlying Operating System Functionality
- Tác giả: Corey Schafer
- Ngày đăng: 2016-04-06
- Đánh giá: 4 ⭐ ( 6376 lượt đánh giá )
- Khớp với kết quả tìm kiếm: In this Python Tutorial, we will be going over the ‘os’ module. The os module allows us to access functionality of the underlying operating system. So we can perform tasks such as: navigate the file system, obtain file information, rename files, search directory trees, fetch environment variables, and many other operations. We will cover a lot of what the os module has to offer in this tutorial, so let’s get started.
✅ Support My Channel Through Patreon:
https://www.patreon.com/coreyms✅ Become a Channel Member:
https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g/join✅ One-Time Contribution Through PayPal:
https://goo.gl/649HFY✅ Cryptocurrency Donations:
Bitcoin Wallet – 3MPH8oY2EAgbLVy7RBMinwcBntggi7qeG3
Ethereum Wallet – 0x151649418616068fB46C3598083817101d3bCD33
Litecoin Wallet – MPvEBY5fxGkmPQgocfJbxP6EmTo5UUXMot✅ Corey’s Public Amazon Wishlist
http://a.co/inIyro1✅ Equipment I Use and Books I Recommend:
https://www.amazon.com/shop/coreyschafer▶️ You Can Find Me On:
My Website – http://coreyms.com/
My Second Channel – https://www.youtube.com/c/coreymschafer
Facebook – https://www.facebook.com/CoreyMSchafer
Twitter – https://twitter.com/CoreyMSchafer
Instagram – https://www.instagram.com/coreymschafer/Python
Đọc ghi file trong Python
- Tác giả: nguyenvanhieu.vn
- Đánh giá: 3 ⭐ ( 2917 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Đọc ghi file trong Python hoặc trong bất kỳ ngôn ngữ nào khác là một thao tác thường xuyên được sử dụng trong quá trình làm việc. Bài viết này sẽ hướng dẫn
What’s New In Python 3.0 — Python 3.10.5 documentation
- Tác giả: docs.python.org
- Đánh giá: 3 ⭐ ( 8579 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
Python3 OS 文件/目录方法
- Tác giả: www.w3cschool.cn
- Đánh giá: 5 ⭐ ( 3102 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Python3 os 模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示:_来自Python3 教程,w3cschool编程狮。
Dự án Python3 xóa các thư mục __pycache__ và các tệp .pyc
- Tác giả: qastack.vn
- Đánh giá: 3 ⭐ ( 2639 lượt đánh giá )
- Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Bạn có thể làm điều đó bằng tay với lệnh tiếp theo: find . | grep…
Deploy thủ công ứng dụng Django
- Tác giả: arrowtran.com
- Đánh giá: 3 ⭐ ( 5350 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Đối với một developer mà nói, mục đích cuối cùng của chúng ta khi phát triển một sản phẩm là có thể đưa sản phẩm ấy đến được với người dùng, và deploy là bước
Hướng dẫn và ví dụ Python Lists
- Tác giả: openplanning.net
- Đánh giá: 3 ⭐ ( 9300 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình