如何用Python删除一个文件?

Posted sea-stream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Python删除一个文件?相关的知识,希望对你有一定的参考价值。

 

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

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

os.remove(a.txt)

如果remove文件夹就会报错

>>> os.remove(r"C:\\Users\\k\\Desktop\\aaa")
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:\\Users\\k\\Desktop\\aaa\\xx.txt")

 

 

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

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

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

技术图片

 

>>> import os
>>> os.removedirs("C:\\Users\\k\\Desktop\\aaa")
  File "<stdin>", line 1
SyntaxError: (unicode error) unicodeescape codec cant decode bytes in position 2-3: truncated \\UXXXXXXXX escape

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

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

技术图片

写法如下

>>> os.removedirs(r"C:\\Users\\k\\Desktop\\aaa/bbb")

 



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

os.rmdir(path)

技术图片

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

>>> os.rmdir(r"C:\\Users\\k\\Desktop\\aaa")
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:\\Users\\k\\Desktop\\aaa")
>>>

 

以上是关于如何用Python删除一个文件?的主要内容,如果未能解决你的问题,请参考以下文章

急求:如何用python删除文本中的重复行?

如何用Python删除或者移动Excel中的sheet

求助:如何用python脚本删除文本中的重复行(相同记录只保留一个)

如何用python查询文件路劲

如何用python给微信发信息

如何用Python打开指定的某个文件夹?比如我要用Python打开D盘里的一个普通文件,该怎么做