python怎么删除文件夹以及里面的所有文件?

python怎么删除文件夹以及里面的所有文件?,第1张

os包的rmdir()函数可以用来删除一斗咐旁个文件,但是文件夹必须是空的。一种可行的方法是读取文件简裂夹的文件列表,逐个删除文件夹中的所有文件,然而文件夹中可能还有文件夹,因此这是一个递归的 *** 作。\x0d\x0ashutil包rmtree()函数就实现了以上功能。shutil是一个高级文件 *** 作的空橡包,实现了文件及文件集合复制与删除的功能。rmtree()函数接收非空文件夹的路径这唯一一个参数。示例代码如下:\x0d\x0aimport shutil\x0d\x0apath = 'g:\zhidao'\x0d\x0ashutil.rmtree(path)

python删除文件夹或者文件时;可以使用os和shutil模块相关的命令

os模块提供的方法

1.os.remove(path)   #path是文件路径,如果path是一个文件誉世夹路径时,会抛出OSError错误

2.os.unlink(path)  #path功能和remove一致,但是删除一个正在使用的文件时会报错

3.os.rmdir(path)  #path是文件夹路径,注意此时文件夹是慧粗要空才能被删除,如果文件夹不为空时,要先删除文件夹下的文件后,才能使用此命令

4.os.removedirs(path) 庆碧肢 #path递归地删除目录,如果子目前成功被删除,则将会成功删除父目录,子目录没有成功删除,将抛出异常

shutil模块提供的方法有:

1.shutil.rmtree(dir)  #dir为目录,可以删除有内容的目录

2.shutil.rmdir(dir)  #dir为目录,只能删除空目录

要实现复制、移动、改名以及删除文件或文件夹,需要用到 shutil 模块,shutil 是 shell util 的简写形式,表示 shell 工具。

调用 shutil.copy(source, destination) 来实现复制文件或文件夹功能,依据 destination 进行区分:

运行结果:

注意: 指定复制的文件夹必须碧轮存在,否则会抛出 FileNotFoundError。

shutil 的 copytree(source, destination) 方法会复制整个文件夹,包括它所包含的所有文件夹和文件。source

指定源文件夹,destination 指定新的文件夹。source 和 destination 入参都是字符串山慧凳。该函数会返回新文件夹的路径。destination 如果不存在,会自动创建。请看下例:

运行结果:

shutil.move(source, destination) 方法会将路径 source 处的文件移动到路径 destination,并返回新位置的绝对路径的字符串。

如果 destination 指向一个文件夹, source 处的文件将移动到 destination 中, 并保持原来的文件名。

运行结果:

注意:

os 模块中的函数,可以实现删除一个文件或一个空文件夹。而 shutil 更强大,使用它可以删除一个非空文件夹!

注意: 因为是永久删除,所以使用这些函数一定要小心!建议调试程序时, 先注释掉这些删除方法,

然后加上 print(), 把要被删除的文件打印出来,确认后,再执行。

打印出来的文件列表确认无误后,再执行 os.unlink(filename) 执行删除 *** 作。

send2trash 模块会将文件夹或文件发送到计算机的回收站。首先,安装它:

安装成功后,调用 send2trash.send2trash 方法,就可以把文件夹或文件发送到计算机的回收站。请看下例:

建议使用 send2trash.send2trash() 函数来删除文件或文件夹,因为以后还可以从回收站还原。但这样做,不

会释放磁盘空间。如果我们还是希望程序释逗旅放磁盘空间, 就要用 os 和 shutil 来删除文件和

文件夹(记得使用之前提出的 print 技巧)。还有一点需要注意, send2trash() 函数只能将文件送到回收站, 但不能从回收站中恢复文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12200011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存