如何用python删除一个文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用python删除一个文件相关的知识,希望对你有一定的参考价值。
使用Python删除文件有多种方法,但是最好的方法如下:os.remove()删除文件
os.unlink()删除文件
shutil.rmtree()删除目录及其下面所有内容
pathlib.Path.unlink()在Python3.4及更高版本中用来删除单个文件pathlib模块。
os.remove()删除文件
Python中的OS模块提供了与操作系统进行交互的功能。OS属于Python的标准实用程序模块。该模块提供了使用依赖于操作系统的功能的便捷式方法。
python中的os.remove()方法用于删除文件路径。此方法无法删除目录。如果指定的路径是目录,则该方法将引发OSError。
注意:可以使用os.rmdir()删除目录。
使用os.unlink()删除Python文件
os.unlink()是os.remove()的别名。在Unix OS中,删除也称为unlink。
注意:所有功能和语法与os.unlink()和os.remove()相同。它们都用于删除Python文件路径。两者都是Python标准库的os模块中执行删除功能的方法。
它有两个名称,别名:os.unlink()和os.remove()。
为同一个函数提供两个别名的可能原因是,该模块的维护者认为,许多程序员可能会从C的底层编辑转向Python,其中库函数和底层系统调用称为unlink(),而其他人则可能会使用rm命令或shell脚本来简化语言。
使用shutil.rmtree()删除Python文件
shutil.rmtree():删除指定的目录,所有子目录和所有文件。此功能特别危险,因为它无需检查即可删除所有内容。结果,您可以使用此功能轻松丢失数据。
rmtree()是shutil模块下的一种方法,该方法以递归方式删除目录及其内容。
使用pathlib.Path.unlink()删除文件
pathlib模块在Python3.4及更高版本中可用。如果要在Python2中使用此模块,可以使用pip进行安装。pathlib提供了一个面向对象的界面,用于处理不同操作系统的文件系统路径。
要使用pathlib模块删除文件,请创建一个指向该文件的Path对象,然后对该对象调用unlink()方法。 参考技术A os.remove('文件') 直接从系统里面删除文件,不经过回收站。
os.rmdir('文件夹') 直接从系统里面删除空文件夹,不经过回收站。
shutil.rmtree('文件夹') 直接从系统里面删除文件夹(文件夹里面可以有别的文件),不经过回收站。所以要小心不要误删。
可使用第三方包,send2trash
send2trash.send2trash() 可以删除任何东西,删除的东西送回回收站。本回答被提问者采纳
如何用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 can‘t 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删除一个文件的主要内容,如果未能解决你的问题,请参考以下文章