shutil删除文件夹异常

发布时间 2023-03-31 10:42:58作者: 水流花落

 

shutil是Python标准库中的一个模块,提供了一些高级的文件操作功能,例如复制、移动、重命名文件或文件夹等。shutil还支持压缩和解压缩文件以及归档(打包)多个文件或文件夹。这个模块的使用可以方便地进行文件和目录的管理。

shutil模块提供了很多实用的方法,以下是其中一些常用的方法:

  1. shutil.copy(src, dst):将源文件src复制到目标位置dst。

  2. shutil.move(src, dst):将源文件src移动到目标位置dst。

  3. shutil.rmtree(path):删除指定路径下的所有文件和文件夹。

  4. shutil.make_archive(base_name, format, root_dir):创建一个压缩包,支持的格式有"zip"、"tar"等。

  5. shutil.unpack_archive(filename, extract_dir):解压缩一个压缩包到指定目录extract_dir下。

  6. shutil.chown(path, user=None, group=None):更改指定路径下文件的拥有者和组。

  7. shutil.disk_usage(path):获取指定磁盘分区使用情况的信息。

  8. shutil.copytree(src, dst):递归地复制整个目录树。

我再删除一个目录的时候遇到一些错误,就是不生效,或者报错

import shutil
shutil.rmtree("D:\\data\\uipath\\demo001")
print("删除完成")

FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'D:\\data\\uipath\\demo001'

  这个路径不像其他包一样,它没有把反斜杠作为转义字符处理,路径中包含了转义字符\而没有被正确处理。在这种情况下,我使用原始字符串(raw string)来避免转义字符的问题,例如:

import shutil
path=r"D:\data\uipath\demo002"
shutil.rmtree(path)
print("删除完成")

  结果依旧是不行,最后只能把反斜杠全部替换为斜杠才弄好

import shutil
shutil.rmtree("D:/data/uipath/demo001")
print("删除完成")