Python_计算文件夹大小

计算文件夹大小

os.listdir(‘dirname‘)    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getsize(path) 返回path的大小
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
递归版:
 1 import os
 2
 3
 4 def get_size(path):
 5     ret = os.listdir(path)
 6     print(ret)
 7     total = 0
 8
 9     for name in ret:
10         abs_path = os.path.join(path, name)
11
12         if os.path.isdir(abs_path):
13             total += get_size(abs_path)
14         else:
15             total += os.path.get.size(abs_path)
16
17     return total
18
19 path = r‘D:\S12\py笔记‘
20 ret = get_size(path)
21 print(ret)

  递归什么时候结束?  返回值的时候结束递归.

堆栈

  栈是一种计算机存储数据的思想:先进后出

压栈思想:

 1 import os
 2
 3
 4 path = r‘D:\S12\py笔记\day19‘
 5 dir_lst = [path]
 6
 7 while dir_list:
 8     path = dir_lst.pop()
 9     ret = os.listdir(path)
10
11     for name in ret:
12         abs_path = os.path.join(path, name)
13
14         if os.path.isdir(abs_path):
15             dir_lst.append(abs_path)
16         else:
17             total += os.path.getsize(abs_path)
18
19 print(total)

原文地址:https://www.cnblogs.com/ZN-225/p/9614233.html

时间: 2024-10-09 04:32:23

Python_计算文件夹大小的相关文章

计算文件夹大小、拷贝文件显示进度

计算文件夹大小(get-childitem -path $folder -recurse| measure-object -property length -sum).sum/1mb #拷贝文件提示进度(脚本只对零散文件有效,如果有大型文件的话,进度显示不正确)$folder = "D:\Temp_del"$des = "d:\test"$p=0$sizes = (get-childitem -path $folder -recurse| measure-objec

清除缓存,,计算文件夹大小

#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // //    NSLog(@"缓存文件大小为%@",[NSString stringWithFormat:@"%0.2fM",[self folderSizeAtPath:[N

【PowerShell】计算文件夹大小

Powershell 2.0版本下的脚本: <# Script Function: get size of folder Script Editor: Snail Yu #> $directories=Get-ChildItem c:\windows |where {$_.mode -like "d*"} foreach ($directory in $directories){     $files=(Get-ChildItem $directory -Recurse -

Linux C++获取文件夹大小

项目中要计算指定文件夹的大小.百度查到这篇文章,https://my.oschina.net/Tsybius2014/blog/330628方法可行,运行正确. 拿到我们的项目中,却遇到一些问题:程序中一些读文件的代码,开始报异常,都不到文件.这些都是以前没有遇到过的问题.到底是什么情况呢?排查了好久,终于发现使用该文章提供的计算文件夹大小的函数(暂且叫做GetDirectorySize),其中有改变当前目录的代码: chdir(dir); 我们的项目是多线程的,一个线程调用GetDirecto

输出文件夹大小

import os, re """ 查看文件夹下的所有文件及文件夹 join为拼接函数 """ def Look_File(path): for root , dirs, files in os.walk(path): print(root) #主目录 for item in files: #主目录下的文件夹 print(os.path.join(root, item)) """ 计算文件夹 大小 "&qu

计算文件(文件夹)大小

// 1.文件管理者 NSFileManager *mgr = [NSFileManager defaultManager]; // 2.判断file是否存在 BOOL isDirectory = NO; BOOL fileExists = [mgr fileExistsAtPath:file isDirectory:&isDirectory]; // 文件\文件夹不存在 if (fileExists == NO) return 0; // 3.判断file是否为文件夹 if (isDirect

文件大小的计算和文件夹大小的计算

1读取本地documents文件里文件夹的大小(我们可以利用NSDirectoryEnumerator这个类) NSString * Docupath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; //    一般不要吧文件直接放到documents文件夹下,要创建新的文件夹 NSString * filePath = [Docupath stringByAppendin

iOS NSFileManeger 计算文件是否超时,和计算文件夹下文件的总大小

//获得指定文件距离上次修改时间是否达到了指定值(秒)timeout +(BOOL)isTimeout:(NSString *)path time:(NSTimeInterval)timeout { //获得当前时间 NSTimeInterval now = [[NSDate date] timeIntervalSince1970]; NSDictionary *dict = [[NSFileManager defaultManager] attributesOfItemAtPath:path

ios计算某文件夹大小

//-----计算某文件夹大小----- //------获取到某文件夹(该例子为名为homePath路径的文件夹)下所有子文件 NSArray* subFiles = [manager1 subpathsAtPath:homePath]; //用于统计每个文件大小 long sum = 0; for (NSString* subPath in subPaths) { //拼接字文件完整路径 NSString* path = [homePath stringByAppendingPathComp