ad

打开《Python入门与实战》_一步步学会Python_7.2.3 删除目录

admin 173 2023-10-25

【摘要】 本书摘自《Python入门与实战》一书中第7章,第2节,由王跃进主编。

7.2.3 删除目录

打开《Python入门与实战》_一步步学会Python_7.2.3 删除目录

使用os模块的 rmdir()方法删除空目录,基本语法格式如下:

os.rmdir(oath)

path:要删除的目录,可以是相对路径,也可以是绝对路径。

例子:

os.rmdir('c:/wwwroot/root/doc') # 将删除 doc 目录

如果要删除的目录不存在会引发 FileNotFoundError 异常,如果不是空目录会引发 OSError异常。可以使用内置模块 shutil的 rmtree() 方法删除非空目录。

7.2.4 删除文件

使用 os模块的 remove()方法删除文件,基本语法格式如下:

os.remove(path)path: 要删除的文件路径,可以是相对路径,也可以是绝对路径。 例子:

os.remove('./test.py') #将删除当前目录下的 test.py文件

如果要删除的文件不存在会引发 FileNotFoundError 异常。为了屏蔽该异常出现

在删除文件前先判断文件是否已经存在。在同一路径下,可能会存在文件名与目录名 相同的情况,为了区别是目录还是文件,使用 os模块的isdir()和 isfile()判断。具体参 见后面的动手实践。

7.2.5 重命名文件和目录

使用 os模块的 rename()方法重命名文件或目录,基本语法格式如下:

os.rename(src,dst)

src: 需要重命名的文件或目录。

dst: 重命名后的文件或目录。

如果要重命名的文件或目录不存在会引发 FileNotFoundError 异常,如果目标文件 名或目录名与现有的文件名或目录名同名会引发FileExistsError异常,为了屏蔽异常出 现,在操作前先判断原文件或目录及目标文件或目录是否存在。

例子:

01 import os

02 srcpath ='c:/wwwroot/a'

03 dstpath ='c/wwwroot/b'

04 if os.path.exists(srcpath) and not os.path.exists(dstpath):

05 os.rename(srcpath, dstpath)

7.2.6 遍历目录

使用 os模块的 walk()方法可以遍历目录,基本语法格式如下

os.walk(top[,topdown])

top: 要遍历的根目录,可以是相对路径,也可以是绝对路径。

topdown: 可选参数,用于指定遍历顺序, True表示先遍历父目录,再遍历子目录, False表示先遍历子目录,再遍历父目录。

返回值: 一个包含3个元素 (path,dirs,files)的元组生成器对象。 path: 当前路径; dirs: 当前路径下子目录列表; files: 当前路径下的文件列表。

生成器是指仅保存生成算法而不实际生成元素的对象。

例子:

01#* coding:utf-8*

02 import os

03 path="c:\java" #请按实际情况修改

04 for root,dirs,files in os.walk(path):

05 for dir in dirs:

06 print("目录:{}".format(os.path.join(root,dir))

07 for file in files:

08 print("文件:{}".format(os.path.join(root,file)))

可能的输出:

目 录 :c:\java\bin

目录: c:\java\lib

文件: c:\java\COPYRIGHT

文件: c:\java\LICENSE

文件: c:\java\README.txt

文件: c:ljava\release

文件: c:\java\THIRDPARTYLICENSEREADME-JAVAFX.txt

文件: c:\java\THIRDPARTYLICENSEREADME.txt

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Python入门与实战》_一步步学会Python_8.3.2 项目简介
下一篇:通过《基于Kotlin的Android应用程序开发》_与成功更近一步_1.3.3 类的实例化
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×