代码如下
#!/usr/bin/python
# coding=utf-8
import os
import sys
from md5 import md5sum
def walk(args):
a = os.walk(args)
dic1 = {}
for p, d, f in a:
for i in f:
fn = os.path.join(p,i)
dic1[fn] = os.path.getsize(fn)
return dic1
if __name__ == '__main__':
try:
dic2 = walk(sys.argv[1])
except IndexError:
print "you should input a agument follow %s" %__file__
d = sorted(dic2.iteritems(),key=lambda t:t[1],reverse=True)
for i,j in d[:2]:
print i,j
这是作业题目 打印目录中最大的10个文件名
当输入参数是/ect的时候会报错 别的目录都不会报错
报错信息如下
Traceback (most recent call last):
File "./os_walk.py", line 20, in <module>
dic2 = walk(sys.argv[1])
File "./os_walk.py", line 15, in walk
dic1[fn] = os.path.getsize(fn)
File "/usr/lib/python2.7/genericpath.py", line 49, in getsize
return os.stat(filename).st_size
OSError: [Errno 2] No such file or directory: '/etc/blkid.tab'
编辑回复