1 #!/usr/bin/env python
   2 import os,fnmatch,sys
   3 
   4 # Usage:
   5 # ./walkdir.py directory extension
   6 
   7 dir,ext=sys.argv[1],sys.argv[2]
   8 fileList=[]
   9 for root, dirs, files in os.walk(dir):
  10     f=fnmatch.filter(files,'*.'+ext)
  11     if type(f)==type([]):
  12         for fi in f:
  13             fName=root+os.path.sep+fi
  14             fSize=os.path.getsize(fName)
  15             fileList.append([fSize,fName])
  16 fileList.sort()
  17 fileList.reverse()

Alternate object oriented try

   1 #!/usr/bin/env python
   2 import os,fnmatch,sys
   3 
   4 # Usage:
   5 # ./walkdir.py directory extension
   6 
   7 #Class FileWalker
   8 #Searches for files and can  sort and print them 
   9 
  10 class FileWalker(object): 
  11  def __init__(self,Dir, Ext):
  12          self.__fileList=[]
  13          self.__dir=Dir
  14          self.__ext=Ext
  15  def SearchFiles(self): 
  16         for root, dirs, files in os.walk(self.__dir):
  17                 f=fnmatch.filter(files,'*.'+self.__ext)
  18                 if type(f)==type([]):
  19                         for fi in f:
  20                                 fName=root+os.path.sep+fi
  21                                 fSize=os.path.getsize(fName)
  22                                 self.__fileList.append([fSize,fName])
  23  def getFileList(self):
  24         return self.__fileList
  25  def sortFileList(self,decending=False):
  26          self.__fileList.sort()
  27          if decending:
  28                 self.__fileList.reverse()
  29  def printFileList(self,Cnt=None):
  30          if not Cnt is None :
  31                  for i in range(Cnt):
  32                         item=self.__fileList[i]
  33                         entry = str(item[0])
  34                         entry =entry+' '+item[1]
  35                         print entry
  36          else:
  37                 for item in self.__fileList:
  38                         entry = str(item[0])
  39                         entry =entry+' '+item[1]
  40                         print entry
  41 
  42 # Main 
  43 
  44 fw = FileWalker(sys.argv[1],sys.argv[2])
  45 fw.SearchFiles()
  46 fw.sortFileList(True)
  47 fw.printFileList()