用python读取linux磁盘的大小
目前我并不担心可移植性,我只是想读取大小,比如说,用python读取linux磁盘的大小,python,Python,目前我并不担心可移植性,我只是想读取大小,比如说,/dev/sdb,以字节为单位 我尝试了os.path.getsize('/dev/sdb/'),但它返回了0 我还尝试使用open('/dev/sdb/'、'rb')和read()和tell()来获取计数,但这太慢了。使用sysfs。读/sys/block/sdb/size如下: BLOCK_SIZE_BYTES = 512 # usually? always? *shrug* def get_disk_size(blockdev):
/dev/sdb
,以字节为单位
我尝试了os.path.getsize('/dev/sdb/')
,但它返回了0
我还尝试使用
open('/dev/sdb/'、'rb')
和read()
和tell()
来获取计数,但这太慢了。使用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
使用
sysfs
。阅读/sys/block/sdb/size
,例如@BrianCain你应该回答这个问题。它很短,但是是对的。@Carsten我同意,我现在就发布一个答案,因为我有一些可以使用的python代码,但是如果他们愿意,我会更新/接受Brian的:)你至少可以通过阅读/sys/block//queue/physical_block_size
()从Ubuntu中的sysfs计算出物理块(扇区)大小。