geekdoc-python-zh/docs/askpython/delete-files-in-python.md

3.2 KiB
Raw Permalink Blame History

如何在 Python 中删除文件

原文:https://www.askpython.com/python/delete-files-in-python

介绍

在我们的 Python 文件处理教程中,我们学习了如何在 Python 中操作文件。在本教程中,我们将学习如何在 Python 中删除文件。

在 Python 中,我们知道如何从文件中读取 T1如何向文件中写入 T3。今天我们来学习一下 Python 中的删除操作。

假设成功创建一个文件后,我们对它执行一些操作,比如读和写。一旦我们完成使用文件进行分析不同的数据集,也许在某些情况下,我们在未来不需要它。此时我们如何删除文件?在本教程中,我们将学习。

Python 中删除文件的方法

让我们看看在 Python 中删除文件的不同方法。

1.使用操作系统模块

Python 中的os模块提供了一些易于使用的方法,利用这些方法我们可以删除移除文件以及空目录。仔细查看下面给出的代码:

import os
if os.path.isfile('/Users/test/new_file.txt'):
    os.remove('/Users/test/new_file.txt')
    print("success")
else:    
    print("File doesn't exists!")

这里我们使用了一个 if-else 语句来避免如果文件目录不存在时可能出现的异常。方法isfile()检查文件名为-**new _ file . txt**的文件是否存在。

同样,os模块为我们提供了另一种方法,rmdir(),可以用来删除或者删除一个空目录。例如:

import os
os.rmdir('directory')

**注意:**目录必须是空的。如果它包含任何内容,方法我们返回一个 OSerror

2.使用 shutil 模块

shutil 是 Python 中另一种删除文件的方法,它使得用户可以轻松地删除文件或其完整目录(包括其所有内容)。

rmtree()shutil 模块下的一个方法,以递归的方式删除一个目录及其内容。让我们看看如何使用它:

import shutil
shutil.rmtree('/test/')

对于上述代码,删除了目录 '/test/'而且最重要的是,目录里面的所有内容也被删除了。

3.使用 pathlib 模块

pathlib内置的 python 模块,可供 Python 3.4+ 使用。我们可以使用这个预定义的模块删除一个文件或者一个空目录

让我们举个例子:

import pathlib
file=pathlib.path("test/new_file.txt")
file.unlink()

在上面的例子中,path()方法用于检索文件路径,而unlink()方法用于取消链接或删除指定路径的文件。

unlink()方法适用于文件。如果指定了目录,将引发 OSError。要删除目录我们可以求助于前面讨论过的方法之一。

参考