<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 中刪除文件的幾種方法

          共 5294字,需瀏覽 11分鐘

           ·

          2021-03-06 09:20

          很多時候開發(fā)者需要刪除文件。可能是他錯誤地創(chuàng)建了文件,或者不再需要該文件。無論出于何種原因,都有一些方法可以通過Python來刪除文件,而無需手動查找文件并通過UI交互來進行刪除操作。
          使用Python刪除文件有多種方法,但是最好的方法如下:
          • os.remove()刪除文件
          • os.unlink()刪除文件。它是remove()方法的Unix名稱。
          • shutil.rmtree()刪除目錄及其下面所有內容。
          • pathlib.Path.unlink()在Python 3.4及更高版本中用來刪除單個文件pathlib模塊。
          os.remove()刪除文件
          Python中的OS模塊提供了與操作系統進行交互的功能。OS屬于Python的標準實用程序模塊。該模塊提供了使用依賴于操作系統的功能的便攜式方法。
          Python中的os.remove()方法用于刪除文件路徑。此方法無法刪除目錄。如果指定的路徑是目錄,則該方法將引發(fā)OSError
          注意:可以使用os.rmdir()刪除目錄。
          句法:
          以下是remove()方法刪除Python文件的語法:
          os.remove(path)
          參數
          • path —— 這是要刪除的路徑或文件名。
          返回值
          remove()方法沒有返回值。
          我們來看一些使用os.remove函數刪除Python文件的示例。
          示例1:使用OS.Remove()方法刪除文件的基本示例。
          # Importing the os library
          import os

          # Inbuilt function to remove files
          os.remove("test_file.txt")
          print("File removed successfully")
          輸出:
          File removed successfully
          說明:在上面的示例中,我們刪除了文件或刪除了名為testfile.txt的文件的路徑。解釋程序流程的步驟如下:
          1.首先,我們導入了os庫,因為os庫中存在remove()方法。
          2.然后,我們使用內置函數os.remove()刪除文件的路徑。
          3.在此示例中,我們的示例文件是“ test_file.txt”。您可以在此處放置所需的文件。
          注意:如果沒有名為test_file.txt的文件,則上面的示例將引發(fā)錯誤。因此,最好在刪除文件之前先檢查文件是否可用。
          示例2:使用Os.Path.Isfile檢查文件是否存在并使用Os.Remove刪除它
          在示例1中,我們剛剛刪除了目錄中存在的文件。os.remove()方法將在工作目錄中搜索要刪除的文件。因此,最好檢查文件是否存在。
          讓我們學習如何檢查具有特定名稱的文件在該路徑中是否可用。我們正在使用os.path.isfile來檢查文件的可用性。
          #importing the os Library
          import os

          #checking if file exist or not
          if(os.path.isfile("test.txt")):
              
              #os.remove() function to remove the file
              os.remove("demo.txt")
              
              #Printing the confirmation message of deletion
              print("File Deleted successfully")
          else:
          print("File does not exist")
          #Showing the message instead of throwig an error
          輸出:
          File Deleted successfully
          在上面的示例中,我們僅添加了os.pasth.isfile()方法。這種方法有助于我們找出文件是否存在于特定位置。
          示例3:Python程序刪除具有特定擴展名的所有文件
          import os 
          from os import listdir
          my_path = 'C:\Python Pool\Test\'

          for file_name in listdir(my_path):
              
              if file_name.endswith('
          .txt'):
                
                  os.remove(my_path + file_name)
          輸出:
          使用此程序,我們將從文件夾刪除擴展名為.txt的所有文件。
          解釋:
          • 從os模塊導入os模塊和listdir。必須使用listdir才能獲取特定文件夾中所有文件的列表,并且需要os模塊才能刪除文件。
          • my_path是包含所有文件的文件夾的路徑。
          • 我們正在遍歷給定文件夾中的文件。listdir用于獲取特定文件夾中所有文件的一個列表。
          • endswith用于檢查文件是否以.txt擴展名結尾。當我們刪除文件夾中的所有.txt文件時,如果條件可以驗證,則進行此操作。
          • 如果文件名以.txt擴展名結尾,我們將使用os.remove()函數刪除該文件。此函數將文件的路徑作為參數。my_path + file_name是我們要刪除的文件的完整路徑。
          示例4:刪除文件夾中所有文件的Python程序
          要刪除特定目錄中的所有文件,只需使用*符號作為模式字符串。
          #Importing os and glob modules
          import os, glob

          #Loop Through the folder projects all files and deleting them one by one
          for file in glob.glob("pythonpool/*"):
              os.remove(file)
              print("Deleted " + str(file))
          輸出:
          Deleted pythonpool\test1.txt
          Deleted pythonpool\test2.txt
          Deleted pythonpool\test3.txt
          Deleted pythonpool\test4.txt
          在此示例中,我們將刪除pythonpool文件夾中的所有文件。
          注意:如果文件夾包含其他子文件夾,則可能會報錯,因為glob.glob()方法將獲取所有文件夾內容的名稱,無論它們是文件還是子文件夾。因此,請嘗試使模式更具體(例如*.*),以僅獲取具有擴展名的內容。
          使用os.unlink()刪除Python文件
          os.unlink()os.remove()的別名。在Unix OS中,刪除也稱為unlink
          注意:所有功能和語法與os.unlink()os.remove()相同。它們都用于刪除Python文件路徑。兩者都是Python標準庫的os模塊中執(zhí)行刪除功能的方法。
          它有兩個名稱,別名:os.unlink()os.remove()
          為同一個函數提供兩個別名的可能原因是,該模塊的維護者認為,許多程序員可能會從C的底層編程轉向Python,其中庫函數和底層系統調用稱為unlink( ),而其他人則可能會使用rm命令(“刪除”的縮寫)或shell腳本來簡化語言。
          使用shutil.rmtree()刪除Python文件
          shutil.rmtree():刪除指定的目錄,所有子目錄和所有文件。此功能特別危險,因為它無需檢查即可刪除所有內容。結果,您可以使用此功能輕松丟失數據。
          rmtree()是shutil模塊下的一種方法,該方法以遞歸方式刪除目錄及其內容。
          句法:
          Shutil.rmtree(path,ignore_errors = False,onerror = None)
          參數:
          path:類似路徑的對象,表示文件路徑。類路徑對象是表示路徑的字符串或字節(jié)對象。
          ignore_errors:如果ignore_errorstrue,則刪除失敗導致的錯誤將被忽略。
          oneerror:如果ignore_errorsfalse或被忽略,則通過調用onerror指定的處理程序來處理此類錯誤。
          我們來看一個使用python腳本刪除文件的示例。
          示例:使用Shutil.Rmtree()刪除文件的Python程序
          # Python program to demonstrate shutil.rmtree() 
           
          import shutil 
          import os 
           
          # location 
          location = "E:/Projects/PythonPool/"
           
          # directory 
          dir = "Test"
           
          # path 
          path = os.path.join(location, dir) 
           
          # removing directory 
          shutil.rmtree(path) 

          輸出:
          它將刪除Test內文件的整個目錄,包括Test文件夾本身。
          Python中使用pathlib.Path.unlink()刪除文件
          pathlib模塊在Python  3.4及更高版本中可用。如果要在Python 2中使用此模塊,可以使用pip進行安裝。pathlib提供了一個面向對象的界面,用于處理不同操作系統的文件系統路徑。
          要使用pathlib模塊刪除文件,請創(chuàng)建一個指向該文件的Path對象,然后對該對象調用unlink()方法:
          示例:使用Pathlib刪除文件的Python程序

          #Example of file deletion by pathlib
           
          import pathlib
           
          rem_file = pathlib.Path("pythonpool/testfile.txt")

          rem_file.unlink()
          在上面的示例中,path()方法用于檢索文件路徑,而unlink()方法用于刪除指定路徑的文件。
          unlink()方法適用于文件。如果指定了目錄,則會引發(fā)OSError。要刪除目錄,我們可以采用前面討論的方法之一。
          結論
          在本文中,我們學習了Python刪除文件的各種方法。使用Python刪除文件或文件夾的語法非常簡單。但是,請注意,一旦執(zhí)行上述命令,您的文件或文件夾將被永久刪除。
          如果您仍然對Python刪除文件有任何疑問。請在下面的評論部分中告訴我們。

          更多閱讀



          2020 年最佳流行 Python 庫 Top 10


          2020 Python中文社區(qū)熱門文章 Top 10


          5分鐘快速掌握 Python 定時任務框架

          特別推薦




          點擊下方閱讀原文加入社區(qū)會員

          瀏覽 51
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  女人天堂网 | 婷婷五月天伊人 | 天天躁日日躁狠狠 | 玖玖精品电影 | 69亚洲乱人伦 |