Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119142
  • 博文数量: 41
  • 博客积分: 1695
  • 博客等级: 上尉
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-21 22:50
文章分类

全部博文(41)

文章存档

2010年(1)

2007年(23)

2006年(17)

我的朋友

分类: Python/Ruby

2010-06-10 23:56:13

列出指定目录下的指定类型文件
import sys
import os
import getopt
 
def DisplayFileAndPath(directory, pfix, pfixset=False):
    try:
        dirlist = os.listdir(os.path.abspath(directory))
    except:
        print 'Access denied or No directory: %s' %directory
        sys.exit(2)
    else:
        for item in dirlist:
#            print os.path.isdir(item)
            new = directory+os.sep+item   #very important: isdir must use the absolute path...
            if os.path.isdir(new):               
                DisplayFileAndPath(new, pfix, pfixset)
            else:
                #postfix              
                if pfixset == True:
                    if os.path.splitext(item)[1][1:] == pfix:
                        print "%-30s\t\t%s" %(item, os.path.abspath(directory))
                else:
                    print "%-30s\t\t%s" %(item, os.path.abspath(directory))
 
def usage():
    print 'This program is to list all the files of same type in specified directory.\
           If no arguments, it will list all the files in current directory.'
   
    print '    -c    list all the files with specified postfix'
    print '    -d    list all the files in specified folder'
def main():
    path = os.path.dirname(sys.argv[0])
    pfixset = False
    postfix = []
 
    try:
        opts, args = getopt.getopt(sys.argv[1:], "c:d:")
    except:
        usage()
        sys.exit(2)
    for opt, arg in opts:
        if opt == "-c":
            postfix = arg
            pfixset = True
        elif opt == "-d":
            path = os.path.abspath(arg)
        else:
            assert False
   
    DisplayFileAndPath(path, postfix, pfixset)
if __name__=='__main__':
    '''
   
    -c    list all the files with specified postfix
    -d    list all the files in specified folder
    '''
    main()
 
刚看python,学习笔记,错误之处,希望不吝赐教。
阅读(1571) | 评论(0) | 转发(0) |
0

上一篇:TCP握手协议

下一篇:没有了

给主人留下些什么吧!~~