Python找到设备磁盘

问题描述:

嗨即时尝试从卷名找到devce磁盘例如。Python找到设备磁盘

我输入为“共享”的卷名

和回报是什么盘

目前,我有以下卸载闪存卡。我需要它是什么磁盘,以便我可以DD图像。

#!/bin/py 

import os 
import subprocess 

# enter flash card name 
cardName = raw_input('Enter your name of Card: ') 

# unmount flash card 
subprocess.call(['sudo' ,'umount', '/Volumes/' + cardName]) 

目前在OSX tryong这一点,但idealy想它普遍的,或者至少能够在Rasbian运行,但多数民众赞成在一个不错的功能

+0

什么是卷名? – wRAR 2013-02-11 02:34:59

+0

设备是否可以安装在任何地方,如果有,在哪里? – icktoofay 2013-02-11 02:35:32

+0

这是什么操作系统? – wRAR 2013-02-11 03:11:52

不,您不能可靠地将卷标(根本不必存在)转换为操作系统设备名称,甚至可以跨平台的方式进行转换。

+0

我不相信它不能做!使用cmd os.system('df -k/Volumes/Untitled')它会返回包含磁盘位置的信息,现在我只需要将其过滤一下如何操作 – Spriggsy 2013-02-11 03:42:27

+0

@Spriggsy它是操作系统特定的,并且只显示已安装的设备。 – wRAR 2013-02-11 13:16:57

+0

感谢您的信息,我想这只是意味着在检查看看哪个操作系统即时运行在开始时,我不接受这个作为你所有帮助的答案。但是我得到它与 “df'/ Volumes /'+ cardName | awk'{print $ 1}'| tail -n 1” – Spriggsy 2013-02-11 13:48:54

你可以通过这样的卷名找到设备磁盘。

DISK_BY_LABEL = '/dev/disk/by-label/' 
filename = DISK_BY_LABEL + VolumeName 
devfile = DISK_BY_LABEL + os.readlink(filename) 

注意:/ dev/disk/by-label目录由udev守护进程创建。

+1

为了安全起见,我认为你应该使用'os.path.join'而不是'+'来连接字符串。 – Timo 2013-02-11 02:47:29