python文件夹大小
❶ python生成的文件大吗
在数据库中存储时,使用 Bytes 更精确,可扩展性和灵活性都很高。
输出时,需要做一些适配。
1. 注意事项与测试代码
1.需要考虑 sizeInBytes 为 None 的场景。
2.除以 1024.0 而非 1024,避免丢失精度。
实现的函数为 getSizeInMb(sizeInBytes),通用的测试代码为
def getSizeInMb(sizeInBytes):return 0def test(sizeInBytes):print '%s -> %s' % (sizeInBytes, getSizeInMb(sizeInBytes))test(None)test(0)test(10240000)test(1024*1024*10)
2. 以 MB 为单位输出 -- 返回 float
通常,电子书的大小在 1 - 50MB 之间,输出时统一转为 MB 是不错的选择。
弊端:
1.输出精度过高,比如 10240000 Bytes 计算结果为 10240000 -> 9.765625
2.文件大小有限制,小于 1 MB 或 G 级数据不适合该方式展示
优势:
1.适合于用返回值参与计算
?
12
def getSizeInMb(sizeInBytes):return (sizeInBytes or 0) / (1024.0*1024.0)
3. 以 MB 为单位保留 1 位小数 -- 返回 str
处于精度问题考虑,可以选择保留 1 位小数。
def getSizeInMb(sizeInBytes):
return '%.1f' % ((sizeInBytes or 0) / (1024.0*1024.0), ) # use 1-dimension tuple is suggested
返回值建议写成 '%.1f' % (number,) 而非 '%.1f' % (number)
二者均能正确执行,但后者容易被误判为执行只有一个参数 number 的函数,导致难以判断的错误。
3. 以 MB 为单位保留至多 1 位小数 -- 返回 str
大多数操作系统一般展示至多 1 位小数
def getSizeInMb(sizeInBytes):sizeInMb = '%.1f' % ((sizeInBytes or 0) / (1024.0*1024.0), ) # use 1-dimension tuple is suggestedreturn sizeInMb[:-2] if sizeInMb.endswith('.0') else sizeInMb # python2.5+ required
4. 自动选择最佳单位
def getSizeInNiceString(sizeInBytes):"""Convert the given byteCount into a string like: 9.9bytes/KB/MB/GB"""for (cutoff, label) in [(1024*1024*1024, "GB"),(1024*1024, "MB"),(1024, "KB"),]:if sizeInBytes >= cutoff:return "%.1f %s" % (sizeInBytes * 1.0 / cutoff, label)if sizeInBytes == 1:return "1 byte"else:bytes = "%.1f" % (sizeInBytes or 0,)return (bytes[:-2] if bytes.endswith('.0') else bytes) + ' bytes'
算法说明:
1. 从英语语法角度,只有 1 使用单数形式。其他 0/小数 均使用复数形式。涉及 bytes 级别
2. 精度方面,KB 及以上级别,保留 1 位小数。bytes 保留至多 1 位小数。
这种处理规则,不适合于小数十分位为 0 的情况,比如 10.0 bytes,10.01 bytes。输入结果均为 10 bytes。
❷ 请教如何使用python实现根据文件名获取文件大小和路径
怎么在Excel中运行python脚本?这个问题由来已久,很多pythoner都希望直接用python控制Excel,但是只能从外部调用,有没有一个VBA的东西可以直接在Excel中运行呢?答案是有,DataNitro就是这么一个东西,看看下面Excel中的界面,他就是了,可以直接点击‘run'来运行一个Python脚本。下面我们来看看它是如何安装与配置的。
先安装python2.7,其他版本不知道行不行,但是这个肯定行,然后配置环境变量,保证python在该环境中,打开开始菜单,找到计算机,然后右键单击它,选择【属性】
找到高级系统设置
找到环境变量,点击该按钮,打开环境变量设置窗口
找到Path系统变量,然后点击【编辑】
在这里,确保python的安装目录在,没有的话,添加进去
下面就可以安装该插件了,去官网下载一个;或者网络一下,各大下载网站都有
双击即可安装,安装过程就是一路点击’下一步,不过有一步需要注意
在这里,不要勾选python,如果通过这种方式安装python,你原先安装的python就无法使用了
最后安装完成,打开Excel就可以看到datanitro了
❸ python3中为什么os.path.getsize()获取的大小和windows资源管理器里文件大小不一致
os.path.getsize()返回的是path的大小,path如果是一个文件,那么就是文件大小;如果是文件夹,那么就是文件夹大小,文件夹大小是指文件夹这个数据结构在文件系统中占用的大小,NTFS文件系统中一个簇通常是4096字节,一个文件夹占用一个簇,所以NTFS中任何一个文件夹的大小都是4096字节。
❹ 用Python语言实现计算某个文件夹下所有文件的大小,并将结果果输出到屏幕上
importos
list=os.listdir(r"./文件夹名")
foriinlist:
print(os.path.getsize(i))
❺ python 在不解压的情况下,怎么得知压缩包里面文件的大小呢
可以使用 tarfile 模块在不解压的情况下查看压缩包里文件的内大小,代码如容下:
#coding=utf8
importtarfile
importos
tar=tarfile.open('G:/test/abc.tar.gz','r:gz')
fortiintar:
ifti.isreg():
print(ti.name,ti.size)
❻ python 怎么判断文件的大小
importos
print('%dBytes'%(os.path.getsize(r'c:xxx.txt')))
❼ python如何读取文件大小
python读取文件大小的代码如下:
[python] view plainimport os
from os.path import join, getsize
def getdirsize(dir):
size = 0L
for root, dirs, files in os.walk(dir):
size += sum([getsize(join(root, name)) for name in files])
return size
if '__name__' == '__main__':
filesize = getdirsize(r'c:\windows')
print 'There are %.3f' % (size/1024/1024), 'Mbytes in c:\\windows'
❽ python怎么得到gz文件中被压缩的文件的大小
有直接读写gz文件的gzip库。。。
但没有这个方法。。。
❾ Python 读取文件夹将里面的图片处理成想要的大小并保存在个指定位置
fromPILimportImage
importos.path
importglob
defconvertjpg(jpgfile,outdir,width=1280,height=720):
img=Image.open(jpgfile)
new_img=img.resize((width,height),Image.BILINEAR)
new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))
forjpgfileinglob.glob("D:/python/*.jpg"):
convertjpg(jpgfile,"D:/newfile")
convertjpg调用时可以有四个参数,如convertjpg(jpgfile,"D:/newfile",800,600)
Image open了jpg用完后版要权不要close?
❿ python中怎么查看文件大小
print(os.path.getsize("C:\Users\Administrator\Desktop\1234.txt")) 回去文件大小,以字节为单位