Python send2trash 模块

Python send2trash 模块简介

从上一节可以知道,使用 shutil 模块的 rmtree() 函数或 pathlib 模块的 unlink() 方法都会不可恢复地删除文件,因此使用起来非常危险。如果一不小心删了重要文件,就找不回来了。那有没有什么好的方法可以解决这个问题呢?

在 Python 中,我们可以使用 send2trash 模块来代替 pathlib、shutil 这两个模块,更安全地删除文件。

由于 send2trash 是第三方模块,因此需要手动安装才行。首先打开 VSCode 终端窗口(也叫做 VSCode 控制台),使用 pip 命令 来安装:pip install send2trash,如下图所示,然后按下回车键即可安装。

Python 安装 send2trash 模块

语法:

send2trash.send2trash(path)

说明:

在该语法中,第 1 个 send2trash 是模块名,第 2 个 send2trash() 是函数名。send2trash() 函数既可以删除一个文件,也可以删除一个文件夹。与使用 pathlib、shutil 这两个模块来删除文件不一样,使用 send2trash 模块删除文件,文件并不是被永久删除,而是被送到回收站中。

Python send2trash 模块使用

为了方便测试例子效果,接下来需要重塑整个项目结构,如下图所示。

Python send2trash 项目结构

示例:使用 send2trash 模块

import send2trash
send2trash.send2trash('src/A.txt')

运行之后,可以发现 A.txt 文件已经被删除了,不过我们还可以从回收站中将其还原回来。

实际上,上面这种写法(即每次调用都要写两遍 send2trash)是有点啰嗦的。我们可以使用 from ... import ... 的语法,直接把这个函数导入进来。上面例子的代码等价于:

from send2trash import send2trash
send2trash.send2trash('src/A.txt')

上一篇: Python shutil 模块

下一篇: Python zipfile 模块

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号