如何用Python删除一个文件?

删除文件 path,删除时候如果path是一个目录, 抛出 OSError错误。

remove() 同 unlink() 的功能是一样的

os.remove('a.txt')

如果remove文件夹就会报错

>>> os.remove(r"C:UserskDesktopaaa")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
PermissionError: [WinError 5] 拒绝访问。: 'C:\Users\k\Desktop\aaa'

现在删除下面这个文件

删除xx.txt

>>> os.remove(r"C:UserskDesktopaaaxx.txt")

os.removedirs(path),删除文件夹,但是文件夹必须为空。

递归地删除目录。类似于rmdir(), 如果子目录被成功删除, removedirs() 将会删除父目录;但子目录没有成功删除,将抛出错误。

例如, os.removedirs(“a/b/c”) 将首先删除c目录,然后再删除b和a, 如果他们是空的话,则子目录不能成功删除,将抛出 OSError异常

>>> import os
>>> os.removedirs("C:UserskDesktopaaa")
  File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated UXXXXXXXX escape

>>> os.removedirs(r"C:UserskDesktopaaa") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:UserskAnaconda3libos.py", line 259, in removedirs rmdir(name) OSError: [WinError 145] 目录不是空的。: 'C:\Users\k\Desktop\aaa'

删除aaa文件夹,由于aaa文件夹非空,需要先删除子目录bbb,再删除父目录aaa

写法如下

>>> os.removedirs(r"C:UserskDesktopaaa/bbb")



如果要删除目录,请使用rmdir()

os.rmdir(path)

删除目录 path,要求path必须是个空目录,否则抛出OSError错误

>>> os.rmdir(r"C:UserskDesktopaaa")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [WinError 145] 目录不是空的。: 'C:\Users\k\Desktop\aaa'

删除一个非空目录

例子

>>> import shutil
>>> shutil.rmtree(r"C:UserskDesktopaaa")
>>>
原文地址:https://www.cnblogs.com/sea-stream/p/11192474.html