我试图获取大于20kb的所有文件 我尝试了以下但它返回所有文件,即使它们小于20kb:
dir = 'C:\\some\\path'
filter(lambda x:os.path.getsize>20000L, [os.path.join(dir, x) for x in os.listdir(dir)])
答案 0 :(得分:3)
lambda中的表达式没有使用它的参数。事实上,
lambda x: os.path.getsize > 20000
将函数getsize
与整数进行比较。那应该是:
lambda x: os.path.getsize(x) > 20000
答案 1 :(得分:1)
要打印大于20kb的文件:
import glob
import os
for fyle in glob.glob('*'):
if os.stat(fyle).st_size > 20000:
print fyle, os.stat(fyle).st_size
答案 2 :(得分:1)
获取大于20000的所有文件
>>>import os
>>>dir = 'C:\\some\\path'
>>>[(path +file) for file in os.listdir(dir) if os.path.getsize(file) > 20000]