如何使用rmtree()删除文件夹和文件

2024-09-28 03:17:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试删除以下路径中的文件夹和文件:“Users/ryanunderwood/Desktop”

这是我的密码:

import shutil
shutil.rmtree('Users/ryanunderwood/Desktop')

但是,将引发以下错误:

Traceback (most recent call last):
  File "/Users/ryanunderwood/Documents/Python files/wipeComputer.py", line 10, in <module>
    shutil.rmtree('Users/ryanunderwood/Desktop')
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/shutil.py", line 516, in rmtree
    return _rmtree_unsafe(path, onerror)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/shutil.py", line 377, in _rmtree_unsafe
    onerror(os.scandir, path, sys.exc_info())
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/shutil.py", line 374, in _rmtree_unsafe
    with os.scandir(path) as scandir_it:
FileNotFoundError: [Errno 2] No such file or directory: 'Users/ryanunderwood/Desktop'

我该如何解决这个问题


Tags: inpyliblinelibraryframeworkversionsusers
2条回答

有两种路径:局部路径和绝对路径

本地路径(如您当前使用的)是文件夹列表,将被解释为从当前工作文件夹开始。因此,结果将取决于您在何处/如何运行您的程序(工作字典)。 如果运行python的文件夹包含一个文件夹“Foo”,那么shutil.rmtree('Foo')实际上可以工作

然而,这可能不是你想要的。如果始终希望以同一文件夹为目标,请使用绝对路径,该路径以驱动器规范('C:'在本例中)开始,并包含嵌套文件夹的整个列表,直到达到目标。 在本例中"C:/Users/ryanunderwood/Desktop",假设您具有Windows的标准文件夹结构

您没有正确指定桌面目录的整个路径。根据桌面文件夹所在的驱动器/分区,它可能类似于shutil.rmtree("C:/Users/ryanunderwood/Desktop")

相关问题 更多 >

    热门问题