如果其他模型不响应-英雄云拓展知识分享
173
2023-10-25
【摘要】 本书摘自《Python入门与实战》一书中第7章,第2节,由王跃进主编。
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~