Python os.walk的用法与举例
来源:互联网 发布:旅行用翻译软件 编辑:程序博客网 时间:2024/06/05 08:36
本文转自: http://blog.csdn.net/bagboy_taobao_com/article/details/8938126
os.walk(top, topdown=True, onerror=None, followlinks=False)
可以得到一个三元tupple(dirpath, dirnames, filenames),
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath 是一个string,代表目录的路径,
dirnames 是一个list,包含了dirpath下所有子目录的名字。
filenames 是一个list,包含了非目录文件的名字。
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
通过for循环自动完成递归枚举
例如:
F:\aaa 目录是这样的文件目录结构
F:\aaa
|--------1.txt
|--------2.txt
|--------3.txt
|--------4
|-------5.txt
|-------6.txt
|-------7.txt
#!/usr/bin/env python # 2.py # use UTF-8 # Python 3.3.0 # os.walk()的使用 import os # 枚举dirPath目录下的所有文件 def main(): #begin fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下 for root, dirs, files in os.walk(fileDir): #begin print(root) print(dirs) print(files) #end os.system("pause") #end if __name__ == '__main__': #begin main() #end # 输出 # F:\aaa # ['4'] # ['1.txt', '2.txt', '3.txt'] # F:\aaa\4 # [] # ['5.txt', '6.txt', '7.txt']
你也可以这样
#!/usr/bin/env python # 3.py # use UTF-8 # Python 3.3.0 # os.walk()的使用 import os # 枚举dirPath目录下的所有文件 def main(): #begin fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下 for a in os.walk(fileDir): #begin print(a[0]) print(a[1]) print(a[2]) #end os.system("pause") #end if __name__ == '__main__': #begin main() #end # 输出 # F:\aaa # ['4'] # ['1.txt', '2.txt', '3.txt'] # F:\aaa\4 # [] # ['5.txt', '6.txt', '7.txt']
通过for循环即可完成目录的递归.
你还可以这样
#!/usr/bin/env python # 2.py # use UTF-8 # Python 3.3.0 # os.walk()的使用 import os # 枚举dirPath目录下的所有文件 def main(): #begin fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下 for root, dirs, files in os.walk(fileDir): #begin for dir in dirs: #begin print(os.path.join(root, dir)) #end for file in files: #begin print(os.path.join(root, file)) #end #end os.system("pause") #end if __name__ == '__main__': #begin main() #end # 输出 # F:\aaa\4 # F:\aaa\1.txt # F:\aaa\2.txt # F:\aaa\3.txt # F:\aaa\4\5.txt # F:\aaa\4\6.txt # F:\aaa\4\7.txt
遍历所有文件,最后还是觉得这个方法可靠
# List all directorydef iterate_directory(path): path = r'C:\Users\wenhuifu\Desktop' roots = [] for roots_of_current_dir,folders,files in os.walk(path): roots.append(roots_of_current_dir) return roots# List all files in current directory
def iterate_all_files(path): files_directory = [] for root in iterate_directory(path): #print(root) list_all_file = os.listdir(root) for file in list_all_file: full_path = os.path.join(root,file) if os.path.isfile(full_path): files_directory.append(full_path) return files_directory
阅读全文
0 0
- Python os.walk的用法与举例
- Python os.walk的用法与举例
- Python os.walk的用法与举例
- Python os.walk的用法与举例
- python库os.walk的用法
- python中的os.walk函数的用法
- python中os.walk的用法
- [python] os.walk()与os.path.walk()
- os.walk的用法
- python os.listdir与os.walk
- python之os.walk()与os.path.walk()
- [第一弹]os.walk的相关用法
- Python的os.walk()方法详细讲解
- os.walk用法
- Os.walk用法小结
- python os.walk和os.path.walk
- Python os.walk() 和 os.path.walk()
- python os.walk和os.path.walk
- 资源大全
- ORACLE 杀死锁进程
- SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释
- VLAN及交换机级联
- java基础——String的equals()方法和equalsIgnoreCase()方法
- Python os.walk的用法与举例
- opencv学习中的细节问题
- Spring Cloud实战(二):微服务集成-ZUUL
- Java基本数据类型—动力节点Java学院整理
- C++拷贝构造函数(深拷贝,浅拷贝)
- 环境搭建-网址大全
- 自定义多节点进度条
- uva 10050 Hartals
- CURL实现get和post联网