第十二天 第十章 目录操作
作者:互联网
# os和os.path模块 import os print('os.getcwd():获取当前目录 ',os.getcwd()) print('os.name:获取操作系统类型 ',os.name) print('os.linesep:获取当前操作系统的换行符 ',os.linesep) print('os.sep:获取当前路径分隔符 ',os.sep) print('os.listdir(path):返回指定路径下的文件和目录信息,参数可空 ',os.listdir('D:/零基础学python/[个人笔记]')) print('os.mkdir(path [,mode]):创建目录 ',os.mkdir('d:/111')) print('os.rmdir(path):删除目录 ',os.rmdir('d:/111')) print('os.makedirs(path1/path2...[,mode]):创建多级目录 ',os.makedirs('d:/222/333/444.py')) print('os.removedirs(path1/path2...):删除多级目录 ',os.removedirs('d:/222/333/444.py')) print('os.chdir(path):设置path为当前工作目录 ',os.chdir(r'D:\零基础学python\[个人笔记]')) lmulu = os.walk('d:/') # for i in lmulu: # print(i) print('walk(top[,topdown[,onerror]]):遍历目录树,返回一个元组,包括路径名/目录列表/文件列表三个元素 ',lmulu) print('os.path.abspath(path):用于获取文件或目录的绝对路径' ,os.path.abspath('')) print('os.path.exists(path):判断目录或者文件是否存在,返回布尔值 ',os.path.exists('D:/零基础学python/[个人笔记]')) print('os.path.join(path,name):将目录和目录或者文件名拼接起来 ',os.path.join('d:/222/','234.py')) print('os.path.splitext():分离文件名和扩展名 ',os.path.splitext('d:/aaa/bbb/ccc/good.avi')) print('os.path.basename(path):从一个目录中提取文件名 ',os.path.basename('d:/aaa/bbb/ccc/good.avi')) print('os.path.dirname(path):提取路径,不包括文件名 ',os.path.dirname('d:/aaa/bbb/ccc/good.avi')) print('os.path.isdir(path):用于判断是否有效路径 ',os.path.isdir('d:/aaa/bbb/ccc/good.avi')) # 路径 # 相对路径:依赖于当前工作目录的。即该文件所在的位置,可以直接引用同级目录或上下级目录的路径。 print('当前目录为D:\python\[个人笔记]:',os.getcwd()) print('那么我用“with open("demo\\demo.txt") as file”里的"demo\demo.txt"就是相对路径') # 绝对路径:不依赖于当前工作目录。 print('用“os.path.abspath("demo\\demo.txt")”可以获得绝对路径:',os.path.abspath('demo.py')) # 拼接路径:将多个路径拼接到一起组成一个新的路径。 print("用“os.path.join(path1[,path2[,...]])”拼接:",os.path.join('D:\\hello\\world','it','me.py')) # 不使用“+”拼接路径是因为在不同的系统,它们的路径分隔符是不同的。 # 如果指定目录有多级,而且最后一级的上级目录中有不存在的,则抛出FileNotFoundError异常,可用创建多级目录或递归调用mkdir函数实现。 # def mkdir(path): # if not os.path.isdir(path): # mkdir(os.path.split(path)[0]) # else: # return # os.mkdir(path) # myPath = "D:/mr/test/" # mkdir(myPath) # # with open(os.path.join(myPath,'demo.py'),'w') as file: # file.write('hello world') # 创建多级目录的命令:os.makedirs()用的就是递归方法。 # rmdir()函数只能删除空的目录,如果想要删除非空目录,则需要使用python内置的标准模块shutil的rmtree()函数实现。 # import shutil # shutil.rmtree('D:/mr') # 遍历目录:os.walk(top[,topdown][,onerror][,followlinks]) # top:欲遍历的根目录 # topdown:可选参数,遍历顺序,True表示自上而下遍历(即先遍历根目录);False表示自下而上遍历(即先遍历最后一级子目录);默认为True # oneerror:可选参数,指定错误的处理方式,默认忽略 # followlinks: # 返回值:返回包含3个元素的元组生成器,dirpath是当前遍历的路径;dirnames是当前路径下的子目录;filenames是当前路径下包含的文件 path = 'D:\\零基础学python' print('%s%s%s'%('【',path,'】 目录下包括的文件和目录:')) 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))
标签:遍历,第十二天,路径,第十章,print,path,os,目录 来源: https://www.cnblogs.com/zack6688/p/13567555.html