-
2020-06-27 11:51:41
python os库获取文件夹大小
大家好这里是三岁,又到了水文章的时候了,由于三岁对os库不是很了解对这个小问题也是花了一番功夫,如果有不足欢迎提粗,批评,三岁一定及时整改!!!利用os库获取文件夹大小
思路
os库是Python自带的类库,是文件管理的小能手,利用他处理文件之类的问题那就手到擒来。
需要的内容
代码 作用 import os 导入os库 os.listdir(path) 获取文件夹下所有的文件/文件夹名 os.path.isfile(path) 判断是否为文件返回布尔型数据 os.path.getsize 文件大小如果是文件夹就是0 os.path.join(path,文件名) 拼接绝对路径 代码展示
import os path = input('输入要查找文件的绝对路径:') # 定义函数 def foldersize(path): # 获取文件夹内所有文件名称 listdirs = os.listdir(path) # 打印文件夹下文件数量 print(f'{path}中文件数量为:{len(listdirs)}') # 打印文件夹内所有文件名称 for listdir in listdirs: print(str(listdir)) print() big = 0 for listdir in listdirs: # 判断是不是文件夹 if not( os.path.isfile(f'{path}\{listdir}')): print() print(f'文件夹名{listdir}') # 再次调用查看文件夹大小函数并叠加大小 big += foldersize(f'{path}\\{listdir}') print() else: # 获得文件大小 size = os.path.getsize(f'{path}\{listdir}') # 打印文件名称和对应的文件大小 print(f'文件名:{listdir},文件大小:{size}') big += size print(f'文件夹大小为{big}') return big foldersize(path)
流程解析
- 1、先获得路径
- 2、获得文件夹下所有的文件及文件夹名称
- 3、判断是否为文件夹
- 4、文件夹就再次调用函数
- 5、文件就计算文件的大小
- 6、叠加获得大小
这里是三岁,如果有什么不对或需要改进的地方请私聊或留言,谢谢大家的关注!!!
更多相关内容 -
大容量内存文件系统设计及μC/OS下的实现
2020-12-13 07:52:08关键词:嵌入式系统 内存文件系统 大容量存储μC/OS 引言 嵌入式系统凭借其特有的功能和资源占用量少的特点,在各个领域得到了越来越多的应用。根据成本和设计的需要,一般的嵌入式系统都配置很少的外部存储空间... -
两台虚拟MikroTik RouterOS.zip
2019-06-28 09:15:40目前只添加了一块网卡,有需要的童鞋可以自己添加多块网卡,添加后将.VMX文件里的 ethernet0.virtualDev这一行的值改成vmxnet3即可,如第一个网卡是这样(ethernet0.virtualDev = "vmxnet3"),第二个网卡就是这样... -
OS+ MFCUSB
2021-01-03 18:55:15OS 利用系统API实现对U盘管理:查看U盘容量、U盘检测是否插入拔出、禁用开启U盘、文件复制删除等功能 -
王道20OS.zip
2019-08-19 21:22:50因容量限制,每本约170mb,故分开上传。20王道计算机操作系统,有水印,介意勿下。 无水印四本合集:https://download.csdn.net/download/b296405422/11580420 -
基于MC68HC908GP32的μC/OS-II移植
2021-01-19 18:01:31在前几讲中,介绍了μC/OS-II的概念、工作机制,还介绍了μC/OS-II在Intel 80X86CPU上的移植,相信读者通信学习,已经对移植的过程和步骤有了一定的了解。由于RAM容量的限制,移植就存在一定的困难;但对于有些8位的... -
Ninja OS:Ninja OS-实时操作系统-开源
2021-05-07 12:17:40Ninja OS是一个实时桌面GNU / Linux系统,旨在提高... 要运行firefox,gimp或重量级软件,建议使用1GB或更大的容量。 该项目旨在在可行的情况下只是免费和开源项目。 唯一的例外是将免费软件捆绑在其他免费项目中。 -
基于μC/OS-II的数字化UPS设计与实现方案
2021-01-19 17:40:52摘 要: 针对数字化UPS,给出了系统总体设计框图,为提高系统控制... 随着信息技术的发展,不间断应急电源(UPS)向着数字化、智能化、网络化、大容量多机冗余化和绿色化的方向发展。高性能专用DSP芯片为UPS的数字化提 -
MikroTik RouterOS6.43.2
2018-10-03 21:14:36ros版本:6.43.2 说明:虚拟机适用版本,用户名:admin 密码:空。 注意事项:请勿更改硬盘容量,切记,切记,切记。配合官方winbox使用。 -
Mac_OS_X_Lion_10.7_正式版32位
2018-06-01 15:18:45Mac_OS_X_Lion_10.7_正式版32位官方正版,3.49G,系统容量小,适合win下虚拟机使用 -
HarmonyOS2.0
2021-05-28 09:47:56HarmonyOS2.0这是一款华为最新推出的系统,非常值得大家来使用。功能很强大,这个系统也适用于大多数手机...HarmonyOS2.0app介绍HarmonyOS2.0是华为鸿蒙版最新出的新系统,可实现多终端、多系统的完美兼容与连接。高...HarmonyOS2.0这是一款华为最新推出的系统,非常值得大家来使用。功能很强大,这个系统也适用于大多数手机,可以看到更多的新功能。华为和谐操作系统采用模块化设计方案,根据设备的资源容量和业务特点灵活定制,满足不同形式终端设备对操作系统的需求。感兴趣的用户就来下载试试吧!
HarmonyOS2.0app介绍
HarmonyOS2.0是华为鸿蒙版最新出的新系统,可实现多终端、多系统的完美兼容与连接。高端规划设计。主要核心是内核安全,安全功能被优化到极致。首先部署在智能屏幕、车载终端、穿戴终端等智能终端上。使用和安装非常方便。这是一款近乎完美的系统软件,欢迎喜欢华为的用户下载使用。
HarmonyOS2.0app特点
它主要由三部分组成:分布式软总线、分布式数据管理和分布式安全。
不仅速度变了、提高了,而且手机的安全性能也很安全。
除华为手机外,还支持少量设备,支持多种终端设备的操作。
HarmonyOS2.0app详情
这次升级也采用组件化设计方案,体验装备的资源和能力。
而终端设备等系统也都做了提高,以满足同一套系统的能力。
能够提供良好的终端间共享服务,使所有设备能够快速连接。
HarmonyOS2.0app优势
HarmonyOS2.0最新版本的功能非常强大,并且在能力上对以上也做了很大的改进;
充分利用国产技术的手机系统有望打破国外手机系统的市场垄断,成为中国在国际技术产业中的代言人。
宏盟的代码比旧的电话系统代码简单得多,并删除了许多用户根本不用的功能。
HarmonyOS2.0app内容
1、在终端操作系统中首次采用分布式体系结构,实现跨终端的无缝协作体验
HarmonyOS的“分布式操作系统架构”和“分布式软总线技术”通过公共通信平台、分布式数据管理和,分布式功能调度和虚拟外围设备,使开发人员能够专注于他们自己的业务逻辑,如开放式。开发像同一终端一样的跨终端分布式应用,也能让最终用户享受到强大的跨终端业务协作能力为每个使用场景带来的无缝体验。
2、基于微内核体系结构的终端设备可信安全重构
HarmonyOS采用新的微内核设计,具有更强的安全性和低延迟。微内核设计的基本思想是简化内核的功能,在内核外的用户状态下实现尽可能多的系统服务,并相互增加安全保护。微内核只提供最基本的服务,如多进程调度和多进程通信。
3、确定了延时引擎和高性能工控机技术,使系统达到自然流畅
HarmonyOS通过使用确定性延迟引擎和高性能IPC两种技术来解决现有系统性能不足的问题。通过确定延迟引擎,可以在任务执行前为系统分配任务执行的优先级和时间限制。优先任务资源优先调度,应用响应延迟减少25.7%。HarmonyOS微内核结构紧凑,大大提高了进程间通信的性能,进程通信效率比现有系统提高了5倍。
HarmonyOS2.0app点评
这是华为宏盟最新发布的新系统,可以直接在移动终端上安装和使用,这次系统更新也给大家带来了很多惊喜。您还可以享受最新体验的2.0系统,这也适用于大多数手机型号。需要的用户可以直接下载体验,给大家带来更多的便利。
-
基于μC/OS操作系统的TF卡存储系统
2020-10-17 02:02:01针对Cortex-M3内核的STM32处理器平台,成功...以温度采集与记录系统为实例,通过对μC/OS操作系统、FAT文件系统、TF卡等相关技术的分析,实现了面向TF卡存储媒介的大容量存储系统,将实时温度按时间关系存储至TF卡。 -
嵌入式系统/ARM技术中的基于MC68HC908GP32的μC/OS-II移植
2020-10-22 00:01:32在前几讲中,介绍了μC/OS-II的概念、工作机制,还介绍了μC/OS-II在Intel 80X86CPU上的移植,相信读者通信学习,已经对移植的过程和步骤有了一定的了解。由于RAM容量的限制,移植就存在一定的困难;但对于有些8位的... -
CentOS 调整分区容量大小
2018-06-29 09:57:3350G),将剩余容量扩展给 / 根目录(193G → \rightarrow → 336G) 命令介绍 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% / #...本文适用于CentOS 6,其他系统未经测试
目的:
缩小
/home
目录大小(193G → \rightarrow → 50G),将剩余容量扩展给/
根目录(193G → \rightarrow → 336G)命令介绍
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% / # 根目录信息 tmpfs 16G 68K 16G 1% /dev/shm /dev/sdb1 477M 71M 381M 16% /boot /dev/mapper/VolGroup-LogVol00 193G 202M 183G 1% /home # /home目录信息
-
1、
- 从左到右每一列分别代表: 文件系统的名称、 总磁盘空间大小、 已使用空间大小、 可用空间大小、 使用的磁盘空间百分比、 "安装在"指定的文件系统的挂载点 2、
-
例:卸载/home分区(命令参数可以是
系统名称
或挂载点
)
df
命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计umount
命令用于卸载已经加载的文件系统# 通过挂载点卸载 umount /home # 通过系统名称卸载 umount /dev/mapper/VolGroup-LogVol00
-
3、
-
-a: 检查,如发现问题会自动修复
-f : 强制检查
e2fsck
命令用于检查文件系统是否正常工作# 检查 /home 分区是否正常 e2fsck -f /dev/mapper/VolGroup-LogVol00
-
4、
- -p: 为了每一个resize2fs操作打印一个百分比完成条,用户可以保持注意程序正在运作的动态
resize2fs
命令用于调整 ext2 文件系统的空间大小# 调整 /home 分区为50G resize2fs -p /dev/mapper/VolGroup-LogVol00 50G
-
5、
-
例:重新挂载/home分区(命令参数可以是
系统名称
或挂载点
)
mount
命令用于加载文件系统到指定的加载点# 挂载 /home分区 mount /home
-
6、
-
-L -10G: 缩小分区 10G
-L +10G: 扩展分区 10G
-L 10G: 扩展 到 或 缩小 到 10G
lvreduce
命令用于减少指定的LVM逻辑卷的空间大小# 缩小 /home 的空间到50G lvreduce -L 50G /dev/mapper/VolGroup-LogVol00
介绍LVM
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性
-
LVM结构:
- 磁盘 => 分区 => PV => VG => LV => 文件系统 扩展分区:
- 先扩LV再扩文件系统
lvextend -L +100M /dev/mapper/VolGroup-LogVol00 # 逻辑卷的大小增加100M resize2fs /dev/mapper/VolGroup-LogVol00 # 文件系统增到逻辑卷的大小
-
缩小分区:
- 先减文件系统再减LV
resize2fs /dev/mapper/VolGroup-LogVol00 100M # 减小文件系统到100M lvreduce -L 100M /dev/mapper/VolGroup-LogVol00 # 减小逻辑卷到100M
- 修改LV及文件系统的大小,必须先将LV及文件系统卸载(umount),然后才可以操作
完整操作记录
- 命令加了注释,方便大家理解,实际操作的时候请勿连同注释一起复制
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% / tmpfs 16G 68K 16G 1% /dev/shm /dev/sdb1 477M 71M 381M 16% /boot /dev/mapper/VolGroup-LogVol00 193G 202M 183G 1% /home [root@localhost ~]# umount /home/ # 卸载挂载分区 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% / tmpfs 16G 68K 16G 1% /dev/shm /dev/sdb1 477M 71M 381M 16% /boot [root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-LogVol00 # 检查分区文件的错误性,-f 即使文件系统没有错误迹象,仍强制地检查正确性 e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/mapper/VolGroup-LogVol00: 21/12804096 files (9.5% non-contiguous), 887832/51200000 blocks [root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-LogVol00 50G # 调整分区大小为50G resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/mapper/VolGroup-LogVol00 to 13107200 (4k) blocks. Begin pass 2 (max = 32770) Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Begin pass 3 (max = 1563) Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Begin pass 4 (max = 9) Updating inode references XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX The filesystem on /dev/mapper/VolGroup-LogVol00 is now 13107200 blocks long. [root@localhost ~]# mount /home # 重新挂载分区 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% / tmpfs 16G 68K 16G 1% /dev/shm /dev/sdb1 477M 71M 381M 16% /boot /dev/mapper/VolGroup-LogVol00 50G 194M 47G 1% /home [root@localhost ~]# lvreduce -L 50G /dev/mapper/VolGroup-LogVol00 # 缩小空间到50G。使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y” WARNING: Reducing active and open logical volume to 50.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce VolGroup/LogVol00? [y/n]: y Size of logical volume VolGroup/LogVol00 changed from 195.31 GiB (50000 extents) to 50.00 GiB (12800 extents). Logical volume LogVol00 successfully resized. [root@localhost ~]# vgdisplay # 查看剩余空间 --- Volume group --- VG Name VolGroup System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 2 Act PV 2 VG Size 409.38 GiB PE Size 4.00 MiB Total PE 104802 Alloc PE / Size 67602 / 264.07 GiB # 已经分配的空间大小 Free PE / Size 37200 / 145.31 GiB # 可分配的空间大小 VG UUID dmX651-3dqe-YCyO-qUYl-ZBX6-1BZe-b7xkVD [root@localhost ~]# lvextend -L +145.31G /dev/mapper/VolGroup-LogVol01 # 分配可用空间 Rounding size to boundary between physical extents: 145.31 GiB. Size of logical volume VolGroup/LogVol01 changed from 195.31 GiB (50000 extents) to 340.62 GiB (87200 extents). Logical volume LogVol01 successfully resized. [root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-LogVol01 # 分区重设大小 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/mapper/VolGroup-LogVol01 is mounted on /; on-line resizing required old desc_blocks = 13, new_desc_blocks = 22 Performing an on-line resize of /dev/mapper/VolGroup-LogVol01 to 89292800 (4k) blocks. The filesystem on /dev/mapper/VolGroup-LogVol01 is now 89292800 blocks long. [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-LogVol01 336G 5.4G 313G 2% / tmpfs 16G 68K 16G 1% /dev/shm /dev/sdb1 477M 71M 381M 16% /boot /dev/mapper/VolGroup-LogVol00 50G 194M 47G 1% /home [root@localhost ~]#
-
c++ windows api 设置U盘启动和禁止,读取U盘容量,复制增加删除查询U盘数据(文件夹和文件都可以),读取...
2019-10-20 18:29:34(2)能够显示U盘的总容量、使用容量和剩余容量; (3)能够将某个目录上的文件或整个目录复制到U盘上; (4)可以删除U盘上文件; (5)禁止U盘的使用及开启U盘的使用; (6)推荐使用VC,也可以使用其它语言; ... -
【操作系统】虚拟内存的最大容量和实际容量的区别(以一道例题开头)
2020-05-05 08:44:10实际内存为什么是2GB+512MB? 因为实际容量是取CPU寻址(2^32B)与内存与外存之和(2GB+512MB)的最小值。就是相当于 数学里面两个值取最小值一样。
实际内存为什么是2GB+512MB?
因为实际容量是取CPU寻址(2^32B)与内存与外存之和(2GB+512MB)的最小值。就是相当于 数学里面两个值取最小值一样。 -
基于ARM与μC/OS-II的弯管流量计的研究与设计
2021-01-31 16:13:52嵌入式技术已经广泛用于工业领域,弯管流量计是工业领域里一种常见的流量计量仪器,文中将ARM与μC/OS-II应用于弯管流量计中,利用实时操作系统的任务...实现了无纸记录仪,大容量数据存储转移,网络远程维护等功能。 -
ARM9内核μC/OS-II系统实现SD卡文件系统电子电路设计图
2020-08-28 16:28:04在ARM9嵌入式处理器和μC/OS-II操作系统基础上,采用容量大、体积小、性价比高的存储介质SD卡来存储长时间段的测量数据,对FAT32进行了裁剪,并结合SD卡的底层的读写程序,从而实现了嵌入式SD 卡文件系统。 -
嵌入式系统/ARM技术中的基于μC/OS-II的数字化UPS设计与实现方案
2020-10-21 01:23:55摘 要: 针对数字化UPS,给出了系统总体设计框图,为提高系统控制... 随着信息技术的发展,不间断应急电源(UPS)向着数字化、智能化、网络化、大容量多机冗余化和绿色化的方向发展。高性能专用DSP芯片为UPS的数字化提 -
center os 7下多路径的磁盘挂载
2019-07-22 13:47:231.multipath –ll 确认多路径 2.fdisk –l 确认磁盘状况 挂载磁盘号 /dev/mapper/mpatha 3.fdisk /dev/mapper/mpatha 新建磁盘(挂载硬盘小于2T的情况) 4.ls –l /dev/mapper/ 查看新建立的磁盘 5.... -
python文件夹和文件大小(容量)统计计算
2020-09-21 17:41:04import os def get_size(): path = r'G:\AAA' count = 0 for dirname in os.listdir(path): dir = os.path.join(path,dirname) if os.path.isdir(dir): for root,dirs,files in os.walk(dir): for file in ... -
网友实测从安卓升级到鸿蒙2.0:可用内存和机身存储容量都增加了
2021-05-31 17:19:18原标题:网友实测从安卓升级到鸿蒙2.0:可用内存和机身存储容量都增加了按计划,鸿蒙OS 2.0会在6月份开始大面积推送,华为Mate X2、Mate 40系列手机等将首批升级。此前我们已经就流畅度、APP打开速度等,对比了鸿蒙... -
IBM eServer zSeries 990 和 z_OS配置手册
2020-03-04 13:10:58它的创新设计支持物理向上伸缩(最大容量是 z900 型号 216 的 3 倍)和虚拟化 - 帮助您简化基础结构和集成多个工作负载。System z Application Assist Processor(zAAP)是可选功能,可以提供专门的且高度集成的 z/... -
Android开发之获取SD卡及手机ROM容量的方法
2021-01-20 09:58:55本文实例讲述了Android获取SD卡及手机ROM容量的方法。分享给大家供大家参考,具体如下: 这里通过一个简单的小例子,来获取SD卡的容量和手机ROM的容量,代码如下: package com.urovo.sdcardspace; import java.io.... -
凤凰os系统下载_凤凰系统phoenix os官方下载-188软件园
2020-12-19 13:44:23凤凰系统(Phoenix OS)x86版是一款适用于个人电脑的安卓...凤凰系统Phoenix OS系统特色1、多任务,高效率相比于传统的安卓系统,凤凰系统支持多窗口、多任务的操作,应用间轻松切换,大幅提高使用效率。2、经典的"开... -
《MAC OS X 技术内幕》读书笔记第一章:MAC OS X的起源
2019-11-25 17:40:24<<MAC OS X技术内幕>>读书笔记 第一章:MAC OS X的起源 1 System1.0~7.5 2 Mac OS 8,9 3 Mac OS X 10.0~10.15 -
用Python脚本来删除指定容量以上的文件的教程
2020-12-25 07:40:51文件多了乱放, 突然有一天发现硬盘空间不够了, 于是写了个python脚本搜索所有大于10MB的文件,看看这些大文件有没有重复的副本,如果有,全部列出,以便手工删除 使用方式 加一个指定目录的参数 比如python ... -
Android编程获取SD卡路径及剩余容量的方法
2021-01-21 20:07:50本文实例讲述了Android编程获取SD卡路径及剩余容量的方法。分享给大家供大家参考,具体如下: public static String getExternalStoragePath() { // 获取SdCard状态 String state = android.os.Environment.... -
华为鸿蒙 HarmonyOS 2 正式发布
2021-06-03 00:57:436月2日晚上8点整,华为 HarmonyOS 2 发布会如期举行。华为消费者业务CEO余承东、华为消费者业务软件部总裁王成录、华为消费者业务COO何刚联袂为大家揭晓了HarmonyOS 2 的全新功能,并同时发布了几台已经搭载Harmony... -
在U盘上安装ChromiumOS
2015-12-06 14:09:20Google旗下两个重量级操作系统:Android和ChromiumOS。Android就不用说了,ChromiumOS目前主要用于ChromeBook设备上。整个系统基本上就是个Chrome浏览器,可以...我个人的看法是因为国内大环境所致,ChromeBook如果使用