加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中确定文件系统的设备

发布时间:2020-12-16 22:13:48 所属栏目:Python 来源:网络整理
导读:如何使用Python来确定哪个Linux设备/分区包含给定的文件系统? 例如 get_filesystem_device('/')/dev/sda get_filesystem_partition('/')/dev/sda1 最佳答案 它不是最卑鄙的,但这会让你开始: #!/usr/bin/pythonimport os,stat,subprocess,shlex,re,sysdev=o

如何使用Python来确定哪个Linux设备/分区包含给定的文件系统?

例如

>>> get_filesystem_device('/')
/dev/sda
>>> get_filesystem_partition('/')
/dev/sda1
最佳答案
它不是最卑鄙的,但这会让你开始:

#!/usr/bin/python

import os,stat,subprocess,shlex,re,sys

dev=os.stat('/')[stat.ST_DEV]
major=os.major(dev)
minor=os.minor(dev)

out = subprocess.Popen(shlex.split("df /"),stdout=subprocess.PIPE).communicate()
m=re.search(r'(/[^s]+)s',str(out))

if m:
    mp= m.group(1) 
else:
    print "cannot parse df"   
    sys.exit(2)

print "'/' mounted at '%s' with dev number %i,%i" % (mp,major,minor)   

在OS X上:

'/' mounted at '/dev/disk0s2' with dev number 14,2

在Ubuntu上:

'/' mounted at '/dev/sda1' with dev number 8,1

要获取设备名称,请从分区名称中删除次要编号.在OS X上,也要删除’s’次要号码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读