用Python读取Linux磁盘大小
我现在不太担心可移植性,我只是想知道,比如说,/dev/sdb
的大小是多少字节。
我试过用 os.path.getsize('/dev/sdb/')
,但是它返回的是0。
我还尝试用 open('/dev/sdb/', 'rb')
然后用 read()
和 tell()
来获取大小,但这样太慢了。
1 个回答
7
使用 sysfs
。可以这样读取 /sys/block/sdb/size
的内容:
BLOCK_SIZE_BYTES = 512 # usually? always? *shrug*
def get_disk_size(blockdev):
blocks = int(open('/sys/block/{blockdev}/size'.format(**locals())).read())
return blocks * BLOCK_SIZE_BYTES