查找sys.path下所有py文件的,并比較文件大小和文件行數(shù)

import os,sys,pprint

trace = 0 #1 代表目錄,2代表加上文件
visited ={}
allsize =[]



for srcdir in sys.path:
    for thisDir,subsHere,filesHere in os.walk(srcdir):
        if trace > 0: print(thisDir)
        thisDir = os.path.normpath(thisDir)  #規(guī)范路徑字符串
        fixcase = os.path.normcase(thisDir)   #規(guī)范化路徑
        if fixcase in visited:
            continue
        else:
            visited[fixcase] = True
        for filename in filesHere:
            if filename.endswith('.py'):
                if trace>1: print('...',filename)
                pypath = os.path.join(thisDir,filename)
                try:
                    pysize = os.path.getsize(pypath)
                except os.error:
                    print("skipping",pysize,sys.exc_info()[0])
                else:
                    pylines = len(open(pypath,'rb').readlines())
                    allsize.append((pysize,pylines,pypath))

print('By size........')
allsize.sort()
pprint.pprint(allsize[:3])
pprint.pprint(allsize[-3:])

print('By lines..............')
allsize.sort(key=lambda x:x[1])
pprint.pprint(allsize[:3])
pprint.pprint(allsize[-3:])
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容