Python合集之目录操作(四)

1.删除目录

删除目录可以通过os模块提供的rmdir()函数实现。通过rmdir()函数删除目录时,只有当要删除的目录为空时才起作用。

os.rmdir(path)

path为要删除的目录,可以使用绝对路径或者相对路径。

import os
os.rmdir("c:\demo\test\dir\mr")

注:如果要删除的目录不存在,那么将抛出“FileNotFoundError”异常,因此在执行os.rmdir()函数前,先判断路径是否存在,可以使用os.path.exists()函数判断。

import os
path="c:\demo\test\dir\mr"
if os.path.exists(path) :
    os.rmdir(path)
    print("删除目录成功")
else:
    print("目录不存在")

注:使用rmdir()函数只能删除空的目录,如果想要删除非空的目录,则需要使用Python内置的标准模块shutil的retree()函数实现。

import shutil
shutil.retree("C:\demo\test")

2.遍历目录

在Python中,遍历是指将指定目录下的全部目录(包括子目录)及文件访问一遍,在Python中,os模块的walk()函数用于实现遍历目录的功能。

os.walk(top[,topdown][,onerror][,followlinks])
参数说明:
top:用于指定要遍历内容的根目录
topdown:可选参数,用于指定遍历的顺序,如果值为true,便是自上而下遍历(即先遍历根目录)
如果值为false,表示自下而上遍历(及先遍历最后一级子目录),默认值为true onerror:可选参数,用于指定错误的处理方式,
默认为忽略,如果不想忽略也可以指定一个错误处理函数。 followlinks:可选参数,默认情况下,walk()函数不会向下转换成解析到目录的符号链接,
将该参数设置为true,表示用于指定在支持的系统上访问由符号链接指向的目录。 返回值:返回一个包含3个元素(dirpath,dirnames,filenames)的元组对象
import os
tuples=os.walk("E:\program\python\code\01")
for tuple1 in tuples:
    print(tuple1,"
")

注:walk()函数只在UNIX和Windows系统中有效。

import os
path="C:\demo"
for root,dirs,files in os.walk(path,topdown=true):
    for name in dirs:
        print(os.path.join(root,name))
    for name in files:
        print(os.path.join(root,name))

花絮:

本期的Python文件目录的处理就分享到这里,下期我们将继续分享Python文件目录的相关知识,感兴趣的朋友可以关注我。

同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

原文地址:https://www.cnblogs.com/a-mumu/p/14778745.html