首先,这类需求用到文件及文件路径的操作,需要用到的库是os库、glob库。
实现需求的方式有许多:
NO.1 使用os.listdir
#!usr/bin/env python
#-*-coding:utf-8 -*-
#Author:匹夫
import os
def main():
'''
输出该路径下所有的文件夹及文件名字
'''
dir_aim = raw_input("请输入目标路径:")
for filename in os.listdir(dir_aim):
print filename
if __name__=='__main__':
main()
NO.2 使用glob 模块
#!usr/bin/env python
#-*-coding:utf-8 -*-
#Author:匹夫
import glob
def main():
'''
输出该路径下所有的文件夹及文件的路径
'''
dir_aim = raw_input("请输入目标路径:")
for filename in glob.glob(dir_aim):
print filename
if __name__=='__main__':
main()
可以通过添加限定来进行文件类型筛选
例如筛选exe文件:
\*.exe
NO.3 使用os.walk递归遍历
#!usr/bin/env python
#-*- utf-8 -*-
#Author: 敬苍生
import os
def main():
'''
读取制定路径下的所有文件
'''
dir_aim = raw_input("请输入所要查看的文件目录:")
for root, dirs, files in os.walk(dir_aim):
print 'root:', root
if files:
print 'File:'
for file in files:
print file,
print ''
if dirs:
for dir in dirs:
print dir
if __name__=='__main__':
main()
当文件路径下存在中文时,print会出现乱码,解决方法请看下一篇文章。