私はシステムディレクトリを歩き回り、そのディレクトリ内のファイルサイズを取得するスクリプトを持っています。ファイルサイズ(降順)でソートし、2つの引数をとります。最初のargはシステムパスで、2番目のargは出力をその整数カウントに制限する整数です。Python: 'count'を使って行数を制限しようとすると "print"が出力されます
私は印刷出力を制限するために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()
ああ....権利は、完全にそれを見落として...ありがとうございます。 "mycnt = int(mycnt)"を追加しました。 – jed