启发
电脑上F盘的文件夹较多,又不想一个个用鼠标右键看大小,所以就写了一个程序来完成。代码如下:
先以E盘举例:
```python
import os
path=r"E:\iot"
# 定义一个转换函数,将文件或文件夹大小换算成容易阅读的形式。
# ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
def convert_bytes(size):
for x in['bytes','KB','MB','GB','TB']:
if size <1024.0:
return "%3.1f %s"%(size,x)
size/=1024.0
for obj in os.listdir(path):
temPathObj=os.path.join(path,obj)
# 先判断是否为文件,因为如果先判断文件夹的话,压缩文件会被分到文件类别中
if os.path.isfile(temPathObj):
size=os.path.getsize(temPathObj)
size=convert_bytes(size)
print(f"文 件《{obj}》大小:{size}")
# 不是文件则直接读其大小
else:
size=0
for root,dirs,files in os.walk(temPathObj):
for file in files:
temPathFile = os.path.join(root, file)
size+=os.path.getsize(temPathFile)
size=convert_bytes(size)
print(f'文件夹《{obj}》大小:{size}')
运行结果:
C:\Users\yq\PycharmProjects\python2022\venv\Scripts\python.exe C:\Users\yq\PycharmProjects\python2022\Diskk_size.py
文件夹《iot-20220330-1》大小:291.4 MB
文 件《iot-20220330-1.zip》大小:274.1 MB
文 件《电子课件与硬件清单.txt》大小:568.0 bytes
Process finished with exit code 0
电脑上文件夹情况截图如下: