知识点
来自在线转换换算网页:在线文件大小(bit,bytes,KB,MB,GB,TB)转换换算
电脑中存储常用的单位:
1Byte(Byte 字节) = 8Bit
1KB (Kilobyte 千字节) = 1024Byte
1MB (Megabyte,兆字节,简称“兆”) = 1024KB
1GB (Gigabyte,吉字节,又称“千兆”) = 1024MB
1TB (Terabyte,太字节,或百万兆字节) = 1024GB,其中 1024 = 2 10 1024 = 2^{10} 1024=210
代码
这就是一个函数,直接调用就行了,返回的就是保留3位小数点的以MB位单位的数值结果
,传的参数就是文件地址
核心就是调用了os库中的函数os.path.getsize()
,返回的是文件单位是Byte
import os
def getfilesize_single(filepath): # 单个文件
byte_size = os.path.getsize(filepath) # 单位是Byte (1KB = 1024Byte, 1MB = 1024KB)
# print(f'{byte_size} Byte')
pt_size = round(byte_size / 1024 / 1024, 3) # 换算后,单位是MB
# return "{:7.3f}".format(pt_size) # 这只是我自己的一个格式控制,无用,使得结果总共显示7位且保留小数点后3位且右对齐
return pt_size
def getfilesize_folder(dirpath): # 文件夹中所有文件(局限:不会打印子文件夹中的文件大小)
filelist = os.listdir(dirpath)
for file in filelist:
filepath = os.path.join(dirpath, file)
pt_size = getfilesize_single(filepath)
print(f'{file}: {pt_size} MB')
if __name__ == '__main__':
filepath = r'F:\A_paper\peng_teacher\2022_CVPR_Towards Total Recall in Industrial Anomaly Detection.pdf'
pt_size = getfilesize_single(filepath)
print(f'{pt_size} MB')
# 打印文件夹中所有文件的大小
getfilesize_folder(r'F:\A_paper\peng_teacher')