`

通过python获取目录的大小

阅读更多

通过python获取目录的大小

 

需要用到的module: os, os.path

import os;

 

 

用到的几个方法:

 

os.path.exists(strPath): 判断strPath是否存在。

os.path.isfile(strPath): 判断strPath 是否是文件

os.walk(strPath):遍历strPath.返回一个3元组 根目录,目录列表,文件列表。

os.path.getsize(strPath): 获取文件的大小

 

PS:源代码

#!/usr/bin/env python
import sys;
import os;

def GetPathSize(strPath):
    if not os.path.exists(strPath):
        return 0;

    if os.path.isfile(strPath):
        return os.path.getsize(strPath);

    nTotalSize = 0;
    for strRoot, lsDir, lsFiles in os.walk(strPath):
        #get child directory size
        for strDir in lsDir:
            nTotalSize = nTotalSize + GetPathSize(os.path.join(strRoot, strDir));

        #for child file size
        for strFile in lsFiles:
            nTotalSize = nTotalSize + os.path.getsize(os.path.join(strRoot, strFile));

    return nTotalSize;

if __name__ == '__main__':
    nFileSize = GetPathSize(sys.argv[1])
    print(nFileSize);
 

结果:

47678506181

==> 得到的大小是byte   


分享到:
评论
1 楼 vcell 2015-01-04  
有错误
os.walk(strPath)返回的已经是全部的文件和文件夹,不需要再递归
这样求得结果比实际大很多。应该把15,16行删掉,就正确了

相关推荐

    使用python3通过python-gitlab的API来获取gitlab的仓库、用户等信息

    在本主题中,我们将深入探讨如何使用Python3和`python-gitlab`库通过GitLab API来获取GitLab仓库、用户以及用户组的相关信息。这个实践性的教程基于一个已修改的Python27脚本,使其兼容Python3.6,并包含了一个名为`...

    python删除文件夹里面所有重复的文件(大小,内容,文件名相同)、python提取所有文件夹名和文件名、python提取

    Python的`os`和`os.path`模块可以帮助我们获取当前工作目录,遍历目录树,以及获取目录和文件的详细信息。通过编写脚本来递归遍历文件夹,我们可以收集所有需要的信息,并将它们整理成列表或其他数据结构,以便后续...

    python实现对指定路径,指定查询深度,对目录进行文件大小

    在使用Python进行文件系统操作时,经常会有获取目录大小的需求,尤其是在需要批量处理多个文件或目录时。为了实现这一功能,我们可以编写一个脚本,该脚本不仅可以指定目录路径,还可以设定查询的深度,以便精确地...

    Python实现目录文件扫描工具源码

    通过递归遍历目录,我们可以轻松地获取任何深度的子目录下的文件信息,然后以结构化的Excel格式导出,便于进一步的数据处理和分析。 在实际应用中,还可以根据需求增加更多的功能,如过滤特定类型的文件、统计文件...

    计算机软件-商业源码-获取目录大小信息_文件操作.zip

    在计算机编程领域,获取目录大小信息是常见的文件操作之一,特别是在资源管理、性能优化和存储监控等场景中。本主题将深入探讨如何通过源码实现这一功能,主要针对的是计算机软件开发中的文件系统操作。 首先,目录...

    Python如何批量获取文件夹的大小并保存

    在Python编程中,有时我们需要批量获取文件夹的大小,特别是在管理大量数据或资源时,了解文件夹占用的空间有助于优化存储和查找可能的问题。本篇将详细介绍如何使用Python编写脚本来实现这一功能,并保存结果到文本...

    Python 脚本-扫描当前目录和所有子目录并显示它们的大小

    `tabulate`模块能够将数据以表格形式展示,使得目录大小的查看更加清晰。使用这个模块时,我们只需要将目录路径和相应的大小作为数据输入到`tabulate`,它就会输出格式化的表格。 整个脚本的核心逻辑可以这样概括:...

    Python获取当前电脑系统、内存等信息

    要使用Python获取当前电脑的系统信息和内存情况,可以通过多种模块来实现。首先,可以利用内置的`os`模块来获取关于CPU的信息,比如处理器数量。为了获取CPU使用率,我们通常会借助`psutil`库。对于内存信息,同样...

    python实现,通过hsv颜色判断水印位置,并通过cv2去水印

    python实现,通过hsv颜色判断水印位置,并通过cv2去水印。 glob不支持中文目录和包含[]的路径,所以图片要放在全英文目录中。 py文件放在jpg文件目录,去水印后的图片放在nowatermark目录。

    python读取目录下所有的jpg文件,并显示第一张图片的示例

    在这里,我们将使用os.glob()函数来获取指定目录下所有jpg文件的路径。 3. **Scipy**: Scipy是Python科学计算库的一部分,包含了很多用于图像处理的函数。在这里,我们使用imread()和imresize()函数来读取和调整...

    Python语言教程2-python批量图片大小处理-多文件夹

    ### Python批量图片大小处理教程——多文件夹场景 在日常工作中,经常需要处理大量的图片,尤其是在涉及图像识别、机器学习项目或网站优化等场景时。本文将详细介绍如何使用Python批量处理不同文件夹中的图片大小,...

    获取FTP服务器上的文件大小源码

    总之,获取FTP服务器上的文件大小是一项基础的FTP操作,可以通过编程语言提供的FTP库轻松实现。在实际项目中,这个功能可以集成到更大的系统中,用于监控文件大小变化、自动化备份或其他需要文件元数据的任务。

    Python实现PDF图片文件压缩

    通过调整代码中的`quality`参数,你可以控制压缩程度,以平衡文件大小和图像质量。如果需要批量处理多个PDF文件,可以将这个函数封装到一个循环中,遍历指定目录下的所有PDF文件。 总的来说,Python结合合适的库...

    Python通过递归获取目录下指定文件代码实例

    以下是一个使用递归获取目录下所有`.json`文件的Python代码实例: ```python import os # 递归获取一个目录下所有的指定格式的文件 def get_jsonfile(path, file_list): dir_list = os.listdir(path) for x in ...

    Python应用实战案例:Python压缩NC格式(附代码).zip

    这会将.zip文件解压缩到名为`unzipped_data`的目录下。然后,你可以再次使用`netCDF4`库打开解压缩后的NetCDF文件进行进一步处理。 总的来说,Python的`netCDF4`库和`shutil`库(配合`zipfile`库)提供了一套完整的...

    python1008文件上传

    - **存储文件**:根据需求,文件可以存储在服务器的特定目录,数据库中,或者云存储服务如AWS S3。 4. **voc_annoation.py**: 这个文件名可能与计算机视觉相关的PASCAL VOC数据集的注解有关。在处理图像数据时,...

    python_pythonweb_

    7. **文件处理**:在接收到上传的文件后,Python应用可能需要进行验证(如文件类型、大小限制)、保存到服务器、移动到特定目录、重命名、预处理(如图像缩放)等操作。 8. **错误处理与安全性**:在实现文件上传...

    Python3.7.2中文文档-标准库-Python文件和目录访问

    通过熟练掌握上述知识点,开发者能够高效地在Python3.7.2中进行文件和目录的操作,无论是简单的读写,还是复杂的文件系统管理任务,都能游刃有余。在实际项目中,合理运用这些功能可以极大地提升代码的可读性和可靠...

    Python库 | python-file-downloader-1.0.0.tar.gz

    "tar"是一个打包工具,用于将多个文件和目录组合成一个单一的归档文件,而".gz"则是gzip压缩算法的结果,可以有效减小文件大小。解压这个文件后,开发者可以查看源代码,了解其工作原理,并根据需要进行定制或扩展。...

Global site tag (gtag.js) - Google Analytics