我有一个脚本,它将遍历一个系统目录,并获得该目录中的文件大小。然后按文件大小(降序)排序,接受两个参数。第一个参数是系统路径,第二个参数是一个整数,用于将输出限制为该整数计数。在
我正在使用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()