精华内容
下载资源
问答
  • Python统计文件夹大小

    2021-05-18 17:02:21
    用到知识,os模块,... 递归调用,统计文件大小 :param path: 文件夹路径 :return: 文件字节 """ global size # 列表显示出文件夹下的所有子文件及子文件夹 dir_list = os.listdir(path) for file in dir_lis

    用到知识,os模块,递归调用

    根据文件夹路径计算文件夹大小,路径也可以是文件

    方式一,自己递归

    import os
    
    size = 0
    
    
    def get_dir_size(path):
        """
        递归调用,统计文件大小
        :param path: 文件夹路径
        :return: 文件字节
        """
        global size
        # 列表显示出文件夹下的所有子文件及子文件夹
        dir_list = os.listdir(path)
        for file in dir_list:
            # 遍历出是不包含前缀的,所以需要拼接完整路径
            f = os.path.join(path, file)
            # 判断遍历出来的是否为文件夹,是文件夹继续递归调用
            if os.path.isdir(f):
                get_dir_size(f)
            else:
                size += os.path.getsize(f)
        return size
    
        # 有一定功力的人可以用如下三元表达式
        # s= (get_dir_size(os.path.join(path, file)) if os.path.isdir(os.path.join(path, file))  else os.path.getsize(os.path.join(path, file)) for file in dir_list)
        # return sum(s)
        
    def show_size(size):
        """
        按照字节的大小展示显示符号 具体是显示字节呢还是kb还是Mb还是Gb
        :param size: 字节
        :return:显示类型
        """
        if size < 1024:
            return str(size) + ' bytes'
        elif 1024 <= size < 1024 * 1024:
            return str(round(size / 1024, 2)) + ' kb'
        elif 1024 * 1024 <= size < 1024 * 1024 * 1024:
            return str(round(size / (1024 * 1024), 2)) + ' Mb'
        else:
            return str(round(size / (1024 * 1024 * 1024), 2)) + ' Gb'
    
    
    if __name__ == '__main__':
        while True:
            path = input('请输入文件夹路径:').strip()
            if path in ['q', 'Q']:
                break
            if os.path.exists(path):  # 判断路径是否存在
                if os.path.isfile(path):  # 判断是否为文件
                    size = os.path.getsize(path)
                else:  # 说明是文件夹
                    size = get_dir_size(path)
                # 调用最终显示具体值的函数
                s = show_size(size)
                print(s)
            else:
                print('========该路径不存在,请重新输入========')
    
    

    方式1 优化

    import os
    
    
    def get_dir_size(path, size=0):
        """
        递归调用,统计文件大小
        :param path: 文件夹路径
        :return: 文件字节
        """
    
        # 列表显示出文件夹下的所有子文件及子文件夹
        dir_list = os.listdir(path)
        for file in dir_list:
            # 遍历出是不包含前缀的,所以需要拼接完整路径
            f = os.path.join(path, file)
            # 判断遍历出来的是否为文件夹,是文件夹继续递归调用
            if os.path.isfile(f):
                size += os.path.getsize(f)
            # 否则它就是文件夹,继续递归调用
            else:
                size = get_dir_size(f, size)
        return size
    
        # 有一定功力的人可以用如下三元表达式
        # s= (get_dir_size(os.path.join(path, file)) if os.path.isdir(os.path.join(path, file))  else os.path.getsize(os.path.join(path, file)) for file in dir_list)
        # return sum(s)
    
    
    def show_size(size):
        """
        按照字节的大小展示显示符号 具体是显示字节呢还是kb还是Mb还是Gb
        :param size: 字节
        :return:显示类型
        """
        if size < 1024:
            return str(size) + ' bytes'
        elif 1024 <= size < 1024 * 1024:
            return str(round(size / 1024, 2)) + ' kb'
        elif 1024 * 1024 <= size < 1024 * 1024 * 1024:
            return str(round(size / (1024 * 1024), 2)) + ' Mb'
        else:
            return str(round(size / (1024 * 1024 * 1024), 2)) + ' Gb'
    
    
    if __name__ == '__main__':
        while True:
            path = input('请输入文件夹路径:').strip()
            if path in ['q', 'Q']:
                break
            if os.path.exists(path):  # 判断路径是否存在
                if os.path.isfile(path):  # 判断是否为文件
                    size = os.path.getsize(path)
                else:  # 说明是文件夹
                    size = get_dir_size(path)
                # 调用最终显示具体值的函数
                s = show_size(size)
                print(s)
            else:
                print('========该路径不存在,请重新输入========')
    
    

    方式二、使用现成功能

    以下只是部分核心代码

    import os
    
    
    def get_dir_size(path, size=0):
        for root, dirs, files in os.walk(path):
            for f in files:
                size += os.path.getsize(os.path.join(root, f))
                print(f)
        return size
    
    
    s = get_dir_size(path=r'D:\测试\a.txt')
    print(s)
    
    
    展开全文
  • 关于python统计文件中word的大小

    千次阅读 2015-03-09 10:56:06
    如果一个文件中有很多word,我们需要知道每个word的大小,但是实际中,我们只知道每个文件大小,至于word的大小我们就需要统计了!!   我把word输入进去一个个测试 file.write('\n%s\t'%word)  由于\t是...

    如果一个文件中有很多word,我们需要知道每个word的大小,但是实际中,我们只知道每个文件的大小,至于word的大小我们就需要统计了!!

     

    我把word输入进去一个个测试

    file.write('\n%s\t'%word) 

    由于\t是制表格符,所以每次向文件中写入word的时候,它总是在末尾多余一个空格,如果当你简单用word长度乘以每个字符所占的字节,当然和整个文件的总大小不匹配!

    file.write('\n%s'%word) 

    于是去掉\t,每一行都是直接以word最后一个字符为结束,但是此时仍然不匹配,因为\n, 分行符号占用两个字节,这个一定要计算进去!简单地来说,如果您的文件有五行那就消耗了四个分行符号,占用了8个字节!对于word的每一个字符占用一个字节!

     

    文件大小分成两部分:

    • 每个word所占用的字节数(count(word)*len(word)
    • 分行符号的字节数 (2*(N-1))N是总的行数

    这个过程中,如果粗心没有注意到一些空格,分行,极有可能你统计的字节数和文件大小不符合,导致实验不顺利,希望大家从这篇文章中,再也不用为统计文件的word大小而担忧了!

     

     

    展开全文
  • python统计文件夹大小

    千次阅读 2018-05-16 13:15:10
    python的内置方法只提供了获取文件大小的方法os.path.getsize(),为了获取整个文件夹的大小,我们需要遍历整个文件夹,这里可以使用内置的os.walk()方法。import os f_dir = os.path.abspath(os.path.dirname(__...

    python的内置方法只提供了获取文件大小的方法os.path.getsize(),为了获取整个文件夹的大小,我们需要遍历整个文件夹,这里可以使用内置的os.walk()方法。

    import os
    
    f_dir = os.path.abspath(os.path.dirname(__file__))
    
    for root, dirs, files in os.walk(f_dir):
        print('root: ', root)
        print('dirs: ', dirs)
        print('files: ', files)

    其中,root为最外级的文件夹名,dirs为root的子文件夹列表,files为root下的文件列表(不包括子文件夹内的文件)。

    我们可以使用walk() 方法来遍历指定目录,累加各文件的大小,即可统计出文件夹的总大小:

    import os
    
    f_dir = os.path.abspath(os.path.dirname(__file__))
    
    def get_dir_size(dir):
        size = 0
        for root, dirs, files in os.walk(dir):
            size += sum([os.path.getsize(os.path.join(root, name)) for name in files])
        return size
    
    if __name__ == '__main__':
        size = get_dir_size('../')
        print('Total size is: %.3f Mb'%(size/1024/1024))
    >>> /root/PycharmProjects/test/venv/bin/python /root/PycharmProjects/test/getDirSize.py
    Total size is: 18.167 Mb
    
    Process finished with exit code 0

    展开全文
  • python统计一个文件夹下指定文件的大小并获得这个文件下所有文件大小的总和以及得到最大文件里面出现次数最多的单词。萌新有错的地方请多指教
  • 通过给定的路径,读取下面所有的目录,找出不同类型的文件统计个数及大小
  • 当使用爬虫爬取大量图片后,图片大小参差不齐,有些图片明显是不可使用的,比如很小的图片就很可疑(在机器学习的时候可能无法使用),而你又不知道小图片在你的存贮空间中的占比,这就需要Python的概率分布图来标识...

    《深度学习-如何提高数据集质量》

    项目背景

    我是在做计算机项目的时候会遇到这种问题,当使用爬虫爬取大量图片后,图片大小参差不齐,有些图片明显是不可使用的,比如很小的图片就很可疑(在机器学习的时候可能无法使用),而你又不知道小图片在你的存贮空间中的占比,这就需要Python的概率分布图来标识了。

    代码功能

    1.用户手动输入图片的路径。这个路径是已经整理过的了,全部都是图片。
    2.将小于512K的图片筛选出来。
    3.显示小于512K的图片概率分布。

    代码内容

    import matplotlib.pyplot as plt
    import os
    
    
    def getFileSizeList(path):
        sizeList = []
        for filename in os.listdir(path):
            fullName = os.path.join(path, filename)
            size = os.path.getsize(fullName)
            #只把小于512K的图片放入队列
            if size // 1024 < 512:
                sizeList.append(size)
        return sizeList
    
    x = getFileSizeList('/home/king/PycharmProjects/nsfw_data_scrapper/raw_data/sexy')
    
    fig,(ax0,ax1) = plt.subplots(nrows=2,figsize=(9,6))
    
    #第二个参数是柱子宽一些还是窄一些,越大越窄越密,数据多的时候将这个数值写大一些。
    ax0.hist(x,100,normed=1,histtype='bar',facecolor='yellowgreen',alpha=0.75)
    ##pdf概率分布图,一万个数落在某个区间内的数有多少个
    ax0.set_title('pdf')
    
    ax1.hist(x,100,normed=1,histtype='bar',facecolor='pink',alpha=0.75,cumulative=True,rwidth=0.8)
    #cdf累计概率函数,cumulative累计。比如需要统计小于5的数的概率
    ax1.set_title("cdf")
    
    fig.subplots_adjust(hspace=0.4)
    plt.show()
    

    概率分布效果

    在这里插入图片描述

    很明显小于512K的图片是一个高高的柱子,占比最大。在这里面应该能找到不少可疑的图片。

    展开全文
  • python 统计不同类型文件个数及大小

    千次阅读 2018-11-13 22:40:59
    给定路径,通过递归统计文件夹下面所有文件(包含子文件夹的文件)的类型及大小。 #!/usr/bin/env python # encoding: utf-8 """ @author: wayne @file: file_type.py @time: 2018/11/13 19:46 &...
  • 参考:https://www.cnblogs.com/benben-wu/p/12411316.html 参考:https://blog.csdn.net/w55100/article/details/92081182 参考:...读取文件夹/文件大小 读取文件夹大小 其实就
  • /usr/bin/python #!conding=utf8 import os from os import path def humanbytes(B): 'Return the given bytes as a human friendly KB, MB, GB, or TB string' B = float(B) KB = float(1024) MB = float(KB...
  • import os #统计指定目录大小 ... #遍历所有文件,判断是否为文件文件统计大小并累加,目录则递归调用,最后返回累加结果 for f in os.listdir(dirPath): absPath=os.path.join(dirPath,f) ...
  • 享一个Python获取远程文件大小的函数代码,简单实用,是学习Python编程的基础实例。
  • 主要为大家详细介绍了python3实现指定目录下文件sha256及文件大小统计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 1.下面的log变量记录了云服务器上 当天上传的文件信息其中第一列是文件名,第二列是文件大小 请编写一个程序,统计出不同类型的 文件的大小总和比如:jpeg 9988999json 324324png 2423233-------------------------...
  • Python3 统计 ftp 文件个数和大小

    千次阅读 2018-10-12 16:08:02
    【背景】 本程序遍历 ftp 目录,列出单个文件大小统计目录个数、文件个数、文件总大小。目的是在批量下载 FTP 文件时,不严格的验证下载结果的正确性。【环境】 Windows10 下 Python 3.6.5,第三方包 ftputil 3.4...
  • 有时会统计某个目录下有哪些文件,每个文件的sha256及文件大小等相关信息,这里用python3写了个脚本用来实现此功能,此脚本可跨平台,同时支持windows和linux,脚本(get_dir_file_info.py)内容如下: import os ...
  • 统计指定目录的大小 ... 统计文件大小函数 :param path: 要统计的目录 :return: 返回指定目录的大小 ''' # 获取指定文件夹中的所有文件和文件夹 files = os.listdir(path) # print(files) # 遍历文件夹
  • 在上篇博客https://blog.csdn.net/lzqg1990/article/details/89881731中,利用Python第三方库RarFile,无需解压,即对RAR压缩包内文件大小进行了统计。 在这篇博客中,对统计功能进一步扩展: 对相同文件结构的...
  • import os def get_size(): path = r'G:\AAA' count = 0 for dirname in os.listdir(path): dir = os.path....再列出文件夹里的文件,继而通过os模块的getsize求出容量 第二种是路径下就是文件,来通过循环求得容量。
  • # 目录大小统计 def size(file): # 判断是否存在 if not os.path.exists(file): print(file, '文件不存在,无法统计') return None # 是普通文件 if os.path.isfile(file): return os.pat...
  • 统计文件大小

    2019-09-29 17:27:35
    统计文件大小 为了查看c盘为啥总是存储爆满,用python2.7简单实现一个统计工具,在这里记录下常见的问题. 1.文件无权限,os.listdir报错,在这只能跳过该错误的情况 常见的windowsError错误及其原因 WindowsError:...
  • OS模块中提供了可以统计文件大小的方法:os.path.getsize(dirpath)  具体代码如下: ret = os.sep.join(__file__.split('/')[:-2]) name = os.path.basename(ret) sum = 0 def func(dirpath): ...
  • 1、安装第三方库RarFile 下载安装包 https://pypi.org/project/rarfile/#files ... 2、统计目标文件 需要统计5项结果(下图为压缩包文件内部结构): DAE、DAY、NIGHT、XREF共4个文件夹的大小...
  • open()打开文件 f =open("./file.text","r") #只读模式 f.read() #读取全部 f.read(5) #读取字符数 f.readline() #读取一行 f.readlines() #读取所有行 f =open("./file.text"...
  • 统计一个目录下所有文件总计大小难点在遍历所有子目录,以下列出2种解法。 递归解 递归解题的思路没什么出奇的,代码特别简洁易懂。遍历一个目录,累计所有文件大小,对于子目录则调用自身递归统计子目录。 需要...
  • 编写Python程序,统计任意一个文件夹的大小,文件夹下可包含多层目录和文件。 输入:一个目录路径 输出:目录大小
  • Python统计一个文件下所有以txt为后缀的文件总数,并将文件按内容的行数从大到小排列,如果行数一样,再按文件大小排 =-=咸鱼做了一天还是写不出,有没有大佬可以帮我写个完整的程序… @TOC 我们对Markdown编辑器...
  • 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类似Windows如下功能: 模块介绍: 1 from ftplib import FTP 2 ftp = FTP() #设置变量 3 ftp.set_debuglevel(2) #打开调试级别2 显示详细信息...
  • 代码来自网络,我进行了一些注释与修改... global totalSize # 总文件大小 global fileNum #文件数量 global dirNum #文件夹数量 即目录 for lists in os.listdir(path): sub_path = os.path.join(path, lists) .

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 195
精华内容 78
关键字:

python统计文件大小

python 订阅