У меня есть скрипт, который будет обходить системный каталог и получать размеры файлов в этом каталоге. затем сортируется по размеру файла (по убыванию), принимает два аргумента. Первый аргумент - системный путь, а второй аргумент - целое число, ограничивающее вывод целым числом.
Я использую цикл while для ограничения вывода на печать, но он застревает в бесконечном цикле .... очевидно, что-то не так, но я не вижу этого.
#!/usr/bin/python
import sys
import os
#Grab arguments
mydir = sys.argv[1]
mycnt = sys.argv[2]
print mydir
print mycnt
#set base dir
root_path = mydir
fileSize = 0
rootdir = mydir
filedict = dict()
count = 0
for root, dirs, files in os.walk(rootdir):
for file in files:
filepath = os.path.join(root,file)
filesize = fileSize + os.path.getsize(filepath)
filedict[filepath] = filesize
for key, value in sorted(filedict.iteritems(), key=lambda (key,val): (val,key), reverse=True):
while (count <= mycnt):
print "(%8s)" " (%-8s)" % (value, key)
count += 1
else:
sys.exit()