Python 文件删除
使用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()方法用于删除文件路径。此方法无法删除目录。如果指定的路径是目录,则该方法将引发OSError。 :::tips 注意:可以使用os.rmdir()删除目录。 ::: 句法:以下是remove()方法删除Python文件的语法:

    1. os.remove(path)

    参数

  • path —— 这是要删除的路径或文件名。

    返回值

    remove()方法没有返回值。

    使用os.remove函数删除Python文件的示例

    使用方法删除文件的基本示例

    1. # Importing the os library
    2. import os
    3. # Inbuilt function to remove files
    4. os.remove("test_file.txt")
    5. print("File removed successfully")

    输出:

    1. File removed successfully

    在上面的示例中,删除了文件或删除了名为testfile.txt的文件的路径。

  1. 首先,导入了os库,因为os库中存在remove()方法。
  2. 然后,使用内置函数os.remove()删除文件的路径。
  3. 在此示例中,示例文件是“test_file.txt”。可以在此处放置所需的文件。

注意:如果没有名为test_file.txt的文件,则上面的示例将引发错误。因此,最好在删除文件之前先检查文件是否可用。

使用检查文件是否存在并使用删除它

在示例1中,刚刚删除了目录中存在的文件。os.remove()方法将在工作目录中搜索要删除的文件。因此,最好检查文件是否存在。如何检查具有特定名称的文件在该路径中是否可用。可以使用os.path.isfile来检查文件的可用性。

  1. #importing the os Library
  2. import os
  3. #checking if file exist or not
  4. if(os.path.isfile("test.txt")):
  5. #os.remove() function to remove the file
  6. os.remove("demo.txt")
  7. #Printing the confirmation message of deletion
  8. print("File Deleted successfully")
  9. else:
  10. print("File does not exist")
  11. #Showing the message instead of throwig an error

输出:

  1. File Deleted successfully

在上面的示例中,仅添加了os.pasth.isfile()方法。这种方法有助于找出文件是否存在于特定位置。

Python程序删除具有特定扩展名的所有文件

  1. import os
  2. from os import listdir
  3. my_path = 'C:\Python Pool\Test\'
  4. for file_name in listdir(my_path):
  5. if file_name.endswith('.txt'):
  6. 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是要删除的文件的完整路径。

    删除文件夹中所有文件的Python程序

    要删除特定目录中的所有文件,只需使用*符号作为模式字符串。
    1. #Importing os and glob modules
    2. import os, glob
    3. #Loop Through the folder projects all files and deleting them one by one
    4. for file in glob.glob("pythonpool/*"):
    5. os.remove(file)
    6. print("Deleted " + str(file))
    输出:
    1. Deleted pythonpool\test1.txt
    2. Deleted pythonpool\test2.txt
    3. Deleted pythonpool\test3.txt
    4. Deleted pythonpool\test4.txt
    在此示例中,将删除pythonpool文件夹中的所有文件。 :::tips 注意:如果文件夹包含其他子文件夹,则可能会报错,因为glob.glob()方法将获取所有文件夹内容的名称,无论它们是文件还是子文件夹。因此,请尝试使模式更具体(例如*.*),以仅获取具有扩展名的内容。 :::

    使用删除Python文件

    os.unlink()os.remove()的别名。在Unix OS中,删除也称为unlink
    注意:所有功能和语法与os.unlink()os.remove()相同。它们都用于删除Python文件路径。两者都是Python标准库的os模块中执行删除功能的方法。它有两个名称,别名:os.unlink()os.remove()为同一个函数提供两个别名的可能原因是,该模块的维护者认为,许多程序员可能会从C的底层编程转向Python,其中库函数和底层系统调用称为unlink(),而其他人则可能会使用rm命令(“删除”的缩写)或shell脚本来简化语言。

    使用删除Python文件

    shutil.rmtree():删除指定的目录,所有子目录和所有文件。此功能特别危险,因为它无需检查即可删除所有内容。可以使用此功能轻松删除数据。rmtree()是shutil模块下的一种方法,该方法以递归方式删除目录及其内容。
    句法:
    1. Shutil.rmtreepathignore_errors = Falseonerror = None
    参数:path:类似路径的对象,表示文件路径。类路径对象是表示路径的字符串或字节对象。ignore_errors:如果ignore_errorstrue,则删除失败导致的错误将被忽略。oneerror:如果ignore_errorsfalse或被忽略,则通过调用onerror指定的处理程序来处理此类错误。来看一个使用Python脚本删除文件的示例。
    示例:使用Shutil.Rmtree()删除文件的Python程序 ```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)

  1. **输出:**它将删除Test内文件的整个目录,包括Test文件夹本身。
  2. <a name="6812a430b3176ee0c4a0b7e46a8187ed"></a>
  3. ## Python中使用删除文件
  4. `pathlib`模块在Python 3.4及更高版本中可用。如果要在Python 2中使用此模块,可以使用pip进行安装。`pathlib`提供了一个面向对象的界面,用于处理不同操作系统的文件系统路径。要使用`pathlib`模块删除文件,请创建一个指向该文件的`Path`对象,然后对该对象调用`unlink()`方法:<br />使用删除文件的Python程序
  5. ```python
  6. #Example of file deletion by pathlib
  7. import pathlib
  8. rem_file = pathlib.Path("pythonpool/testfile.txt")
  9. rem_file.unlink()

在上面的示例中,path()方法用于检索文件路径,而unlink()方法用于删除指定路径的文件。unlink()方法适用于文件。如果指定了目录,则会引发OSError。要删除目录,可以采用前面讨论的方法之一。