列出指定目录下的指定类型文件
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,学习笔记,错误之处,希望不吝赐教。
阅读(1604) | 评论(0) | 转发(0) |