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 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.

Xem Thêm  Bí kíp bán áo thun thành công trên Amazon - ao thun thanh cong


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

Xem Thêm  Bộ chuyển đổi RGB sang HEX - html chuyển đổi rgb sang hex

By ads_php