我正在尝试使用 os.path.getsize 获取文件的大小,但它将大小打印为字节,我想以 MB 为单位打印出来,有啥解决方案吗?

Posted

技术标签:

【中文标题】我正在尝试使用 os.path.getsize 获取文件的大小,但它将大小打印为字节,我想以 MB 为单位打印出来,有啥解决方案吗?【英文标题】:I am trying to get the size of a file with os.path.getsize but it prints out the size as bytes and I want to print it out in MB, any solutions?我正在尝试使用 os.path.getsize 获取文件的大小,但它将大小打印为字节,我想以 MB 为单位打印出来,有什么解决方案吗? 【发布时间】:2021-04-25 15:18:19 【问题描述】:

我正在尝试使用 os.path.getsize 获取文件的大小,但它会将大小打印为字节,我想以 MB 为单位打印,有什么解决方案吗? 代码:

import os
from os import system
os = os.path.getsize("C:\\Users\\username\\Desktop\\ambrosial.exe")
print(str(os))

【问题讨论】:

是的。除以 1024*1024。或除以1 << 20。除此之外,您是否注意到您已将 os 导入覆盖为变量?除此之外,您已经导入了 os,因此不需要第二次导入。 这能回答你的问题吗? Better way to convert file sizes in Python 【参考方案1】:

试试这个: 基本上,您得到文件的大小,然后通过除以 (1024 * 1024) 将文件的大小从字节转换为兆字节。

import os 
byte_size = os.path.getsize("C:\\Users\\username\\Desktop\\ambrosial.exe")
mb_size = byte_size / (1024 * 1024)
print(mb_size)

【讨论】:

以上是关于我正在尝试使用 os.path.getsize 获取文件的大小,但它将大小打印为字节,我想以 MB 为单位打印出来,有啥解决方案吗?的主要内容,如果未能解决你的问题,请参考以下文章

Python 的 os.path.getsize() 是不是具有真正的字节分辨率?

os模块

os模块,sys模块,hashlib

python3获取文件及文件夹大小

python 获取文件和文件夹大小

计算目录大小