python遍历文件夹 |
您所在的位置:网站首页 › python怎么读文件夹下的文件 › python遍历文件夹 |
之前几篇都是介绍具体文件内容的处理.这篇主要讲怎么找全要处理路径下的所有文件 这张主要介绍os模块的几个函数 1.os.path.exists() 和 os.listdir() 首先我们要判断该路径是不是存在,如果存在再列出该路径下的所有文件 import os path=r'D:\学习资料\kira' if os.path.exists(path): files=os.listdir(path) print(files) else: print('this path not exist')结果: ['1', '2.txt', '3.py']上面结果只是列出了一级目录下的所有文件,可能会遇到文件夹套文件夹再套文件夹的情况,所以我们这边需要写一个方法,遍历该目录下的所有文件夹.直到把所有文件都找出来.这边需要用到os.path.isfile()或者os.path.isdir(),如果判断出来是文件夹,我们还需要用到os.path.join(),继续深入处理 #coding=utf-8 import os def list_allfile(path,all_files=[]): if os.path.exists(path): files=os.listdir(path) else: print('this path not exist') for file in files: if os.path.isdir(os.path.join(path,file)): list_allfile(os.path.join(path,file),all_files) else: all_files.append(os.path.join(path,file)) return all_files if __name__ == "__main__": print(list_allfile(r'D:\学习资料\kira'))结果: ['D:\\学习资料\\kira\\1\\4.txt', 'D:\\学习资料\\kira\\2.txt', 'D:\\学习资料\\kira\\3.py']2.os模块的主要几个常用函数 os.path.join() #coding=utf-8 import os path=r'D:\学习资料\python' path_new=os.path.join(path,'Python编程:从入门到实践.pdf') print(path_new)结果: D:\学习资料\python\Python编程:从入门到实践.pdfos.getcwd() #coding=utf-8 import os path_now=os.getcwd() print(path_now)结果: C:\Users\kirazheng>py -3 C:\Users\kirazheng\Desktop\test2.py C:\Users\kirazheng 应该是当前执行的目录os.chdir() #coding=utf-8 import os os.chdir(r'D:\学习资料\python') path_after=os.getcwd() print(path_after)结果: C:\Users\kirazheng>py -3 C:\Users\kirazheng\Desktop\test2.py D:\学习资料\python 切换后的目录os.makedirs() try: os.makedirs(r'D:\学习资料\python\kira') except FileExistsError: print('have this dir')结果: 新建文件夹,中间的文件夹没有的话,也建,try except 以后介绍os.path.abspath() #coding=utf-8 import os path_abs=os.path.abspath(r'.') print(path_abs)结果: C:\Users\kirazheng>py -3 C:\Users\kirazheng\Desktop\test2.py C:\Users\kirazheng 相对路径变绝对路径os.path.isabs() print(os.path.isabs(r'.')) print(os.path.isabs(r'D:\学习资料'))结果: False True 判断是否是绝对路径os.path.relpath() print(os.path.relpath(r'D:\学习资料', r'D:\学习资料\python\kira')) print(os.path.relpath(r'D:\学习资料\python\kira', r'D:\学习资料'))结果: ..\.. python\kira 后面路径是start path,感觉就是看后面路径怎么到前面路径的os.path.dirname() && os.path.basename() &&os.path.split() #coding=utf-8 import os path_new='D:\学习资料\python\Python编程:从入门到实践.pdf' print(os.path.dirname(path_new)) print(os.path.basename(path_new)) print(os.path.split(path_new))结果: D:\学习资料\python Python编程:从入门到实践.pdf ('D:\\学习资料\\python', 'Python编程:从入门到实践.pdf')os.listdir() #coding=utf-8 import os print(os.listdir(r'D:\学习资料\kira'))结果: ['1', '2.txt', '3.py'] 列出该目录下的所有文件os.path.exists() &&os.path.isfile() &&os.path.isdir() #coding=utf-8 import os print(os.path.exists(r'D:\学习资料\kira')) print(os.path.isfile(r'D:\学习资料\python')) print(os.path.isdir(r'D:\学习资料\python'))结果: True False True 很明显字面意思,路径存不存在,是不是文件,是不是文件夹 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |