【Python】获得指定路径下找到所有大文件

代码如下:

import os
import math
import pandas as pd

def byte_to_read(byte):
    num = byte
    dic = {0:'B', 1:'KB', 2:'MB', 3:'GB'}
    # 研究了一下,在apple mac中,1KB = 1000B
    for i in range(3):
        if num < math.pow(1000,1):
            return str(round(num,2)) + dic[i]
        else:
            num /= math.pow(1000,1)
    return str(round(num,2)) + 'GB'

def getAllBig(path, byte):
    res = pd.DataFrame(columns=['path', 'name','file_size'])
    for folderName, subFolders,fileNames in os.walk(path):
        for filename in fileNames:
            filesize = os.path.getsize(os.path.join(folderName, filename))
            if filesize >= byte:
                res = res.append(pd.Series({'path': folderName, 'name':filename, 'file_size':filesize}), ignore_index=True)

    res['size'] = res['file_size'].map(byte_to_read)
    res.sort_values('file_size', ascending=False, inplace=True)
    del res['file_size']
    res.reset_index(drop=True, inplace=True)
    return res

# 在这里,path可以改为自己的路径
# 可以自己设置阈值byte,100MB=100*1024KB=100*1024*1024B(字节)
bigs = getAllBig('/Users/trent2766/Documents/办公文件', 100*1024*1024)
print(bigs)
bigs.to_csv('big_files.csv', encoding='utf_8_sig')

会打印出该文件夹下所有大文件,并且按降序排列。如果打印结果不好看,可以用Excel/WPS打开保存的csv文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值