Python写的列举指定目录下所有子目录的工具

来源:互联网 发布:网盘php源码下载 编辑:程序博客网 时间:2024/04/26 01:51

这几天因为工作需要, 又刚好在学Python, 所以就用它写了这样的一个东西.
很粗糙, 但幸能胜任我的工作. 呵呵.
它的功能是列出指定目录下的所有子文件夹. 也能指定这些文件夹必须是包含有指定扩展名文件的.
比如, 可以列出c:/目录下, 所有包含有.c, .h文件的目录.
这时只需要输入这样的两个参数:
Input file path: c:/
input file type: .c,.h

呵呵, 这东西写得真是很粗糙, 但希望有人能用得上, 那我就真是高兴了.

# showdir
from os.path import *
import string
import os
def walkdir(spath, mode):
    path = os.listdir(spath)  
    dir, file = [], []  
    for i in path:
        if isdir(join(spath, i)):
            dir.append(i)
        else:
            file.append(i)
    if mode == ['']:
        print spath
    else:
        for j in file:
            findout = 0
            for k in mode:
                if j[-len(k):] == k:
                    print spath
                    findout = 1
                    break
            if findout:
                break
    for k in dir:
        walkdir(join(spath, k), mode)
       
def isfiletype(mode):
    return 1
   
def showdir():
    print 'Welcome...'
    spath = raw_input("Input file path: ")
    if not isdir(spath):
        print "File path error!"
        return
    mode = raw_input("input file type: ")
    if not isfiletype(mode):
        print "File type error!"
        return
    print 'Files list...'
    smode = string.split(mode, ',')
    walkdir(spath, smode)

showdir()


原创粉丝点击