删除python文件和目录

python有一个内置模块,可以删除文件和目录。本教程介绍如何使用OS、pathlib和shutil模块的功能删除文件和目录。

在python中访问os.remove()、os.unlink()和pathlib。可以使用Path.unlink()删除单个文件。Os.remove()和os.unlink()函数在语义上是相同的。

操作系统模块提供了与操作系统交互的方法。该模块可用于python 2和3。如果指定的文件不存在,则会发生FileNotFoundError错误。

Os.remove()和os.unlink()都只能删除文件,不能删除目录。如果指定的路径指向目录,则会发生IsADirectoryError错误。

要删除文件,必须对包含文件的目录具有写入和执行权限。否则,将出现PermissionError错误。这是Pathlib。也可以使用Path.unlink()、os.remove()和os.unlink()删除符号链接

如果使用Os.remove()或os.unlink()删除单个文件,请将文件路径作为参数传递。为了避免在删除文件时出现错误,可以使用异常处理捕获异常并发送相应的错误消息。

Pathlib模块可用于Python 3.4或更高版本。如果要在Python 2中使用此模块,可以使用pip进行安装。

Pathlib提供了一个面向对象的界面,用于处理其他操作系统的文件系统路径。

要使用Pathlib模块删除文件,请创建指向文件的path对象,然后调用该对象的unlink()方法。

使用Os.remove()或os.unlink()删除文件。

Import OS

File_path=’/tmp/file.txt ‘

Try:

Os.remove(file_path)

#os.unlink(file_path)

Except OSError as e:

print(‘ error:% s:% s ‘ %)(file _ path、e.strerror)

使用Pathlib删除文件。

From pathlib import Path

File _ path=path( ‘/tmp/file。txt ‘)

Try:

File_path.unlink()

Except OSError as e:

print(‘ error:% s:% s ‘ %)(file _ path、e.strerror)

模式匹配

使用Glob模块,您可以根据模式匹配多个文件。若要递回删除目录中的所有档案及其子目录,请将recursive=True参数传递给glob()函数,并使用* *模式。

Pathlib模块包含两个与指定目录中的文件相匹配的glob函数glob()和rglob()。Glob()仅查找顶级目录中的文件。Rglob()递归地查找目录及其子目录中的所有文件。

例如,/tmp目录子目录中的所有项目,包括。要删除Txt文件:

Import OS

Import glob

Files=glob.glob (‘/tmp/* */*。“Txt”,recursive=true)

For f in files:

Try:

Os.remove(f)

Except OSError as e:

Print (‘ error:% s:% s ‘% (f,e. strerror))

以下示例代码显示了/tmp目录(子目录除外)的所有内容。删除Txt文件。

From pathlib import Path

For f inpath (‘/tmp ‘)。Glob (‘ * .Txt ‘):

Try:

F.unlink()

Except OSError as e:

Print (‘ error:% s:% s ‘% (f,e. strerror))

删除目录/文件夹

python、os.rmdir()和pathlib。可以使用Path.rmdir()删除空目录,使用shutil.rmtree()删除非空目录。

Shutil模块使您可以对文件和目录执行许多高级任务。可以使用Shutil.rmtree()函数递归删除所有文件。传递给Shutil.rmtree()的参数不能是指向目录的符号链接。

此示例说明如何删除目录:

Import OS

Dir_path=’/tmp/img ‘

Try:

Os.rmdir(dir_path)

Except OSError as e:

Print(‘ error:% s:% s’ %(dir _ path,e.strerror))

要使用Pathlib模块删除目录,请执行以下操作:

From pathlib import Path

Dir_path=Path(‘/tmp/img ‘)

Try:

Dir_path.rmdir()

Except OSError as e:

Print(‘ error:% s:% s’ %(dir _ path,e.strerror))

要使用Shutil模块删除目录,请执行以下操作:

Import shutil

Dir_path=’/tmp/img ‘

Try:

Shutil.rmtree(dir_path)

Except OSError as e:

Print(‘ error:% s:% s’ %(dir _ path,e.strerror))

结论

python提供了几个用于处理文件的模块。Os.remove()、os.unlink()和pathlib。此示例说明如何使用Path.unlink()删除单个文件。

Os.rmdir()和pathlib。如何使用Path.rmdir()删除空目录,使用shutil.rmtree()递归删除目录及其所有内容。

删除文件或目录时要小心,因为文件删除后不能轻松恢复。如果有问题或反馈,请随时发送意见。

Linux

python

文档

删除

删除安全性

目录

LINUX

WayDroid可以在Linux上运行Android应用程序,而不会减慢速度

2022-9-23 13:31:06

LINUX

如何在CentOS 8安装Elasticsearch

2022-9-23 15:00:48

搜索