linux查看python文件大小_查看Linux磁盘块大小

1、用 du 命令结合文件大小判断,封装成Python代码如下:

#encoding: utf-8

#author: walker

#date: 2017-04-13

#summary: 获取文件所在磁盘块大小

#sys.version: 2.7.6 (default, Mar 22 2014, 22:59:56) \n[GCC 4.8.2]

import os

import math

#获取文件所在磁盘块大小

#参数为:大于0B,没有空洞(hole)的文件

#返回值:若正常,返回块大小;否则,返回-1

def GetBlockSize(pathfile):

fileSize = os.path.getsize(pathfile)

print('%s fileSize:%d' % (pathfile, fileSize))

if fileSize 

return -1

blockSize = 512

for i in range(1, 10):

cmd = 'du -B %d %s' % (blockSize, pathfile)

print('cmd:%s' % cmd)

outText = os.popen(cmd).read()

num = int(outText.split('\t')[0])

print('num:%d' % num)

if math.ceil(1.0*fileSize/blockSize) == num:

break

blockSize *= 2

return blockSize

2、用 tune2fs 结合 df 命令判断,示例如下:

walker@walker-vm:~/apue$ df -hT

文件系统                        类型      容量  已用  可用 已用% 挂载点

/dev/mapper/walker--vm--vg-root ext4       18G  2.5G   14G   16% /

none                            tmpfs     4.0K     0  4.0K    0% /sys/fs/cgroup

udev                            devtmpfs  987M  4.0K  987M    1% /dev

tmpfs                           tmpfs     200M  616K  199M    1% /run

none                            tmpfs     5.0M     0  5.0M    0% /run/lock

none                            tmpfs     998M     0  998M    0% /run/shm

none                            tmpfs     100M     0  100M    0% /run/user

/dev/sda1                       ext2      236M   37M  187M   17% /boot

walker@walker-vm:~/apue$ sudo tune2fs -l /dev/mapper/walker--vm--vg-root | grep Block

Block count:              4651008

Block size:               4096

Blocks per group:         32768

相关阅读:

***walker ***

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值