网站建设项目软件开发招标文件品牌全网推广
知识点
来自在线转换换算网页:在线文件大小(bit,bytes,KB,MB,GB,TB)转换换算
电脑中存储常用的单位:
1Byte(Byte 字节) = 8Bit
1KB (Kilobyte 千字节) = 1024Byte
1MB (Megabyte,兆字节,简称“兆”) = 1024KB
1GB (Gigabyte,吉字节,又称“千兆”) = 1024MB
1TB (Terabyte,太字节,或百万兆字节) = 1024GB,其中1024=2101024 = 2^{10}1024=210
代码
这就是一个函数,直接调用就行了,返回的就是保留3位小数点的以MB位单位的数值结果
,传的参数就是文件地址
核心就是调用了os库中的函数os.path.getsize()
,返回的是文件单位是Byte
import osdef 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_sizedef 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')