从'blkid'输出中提取usb名称

时间:2017-08-22 19:15:38

标签: python label extract usb-drive blkid

我想提取附加到我的linux系统的usb标签。我在python中编写了一些代码,它运行正常,但我希望它不那么复杂。任何想法......谢谢。

以下是代码:

 #!/usr/bin/env python

 import commands

 import os

 str1=commands.getoutput('sudo blkid')

 name=str1.splitlines()

 for x in range(len(name)):

 if '/dev/sd' in name[x]:

 print name[x]

 str2=name[x].split(" ")

 print str2

 for y in range(len(str2)):

 if 'LABEL' in str2[y]:

 print str2[y]

 str3=str2[y].split('=')

 print str3

 for z in range(len(str3)):

    if 'LABEL' in str3[z]:
            print str3[z+1]

1 个答案:

答案 0 :(得分:0)

您可以使用blkid上的选项来简化您的任务。在这种情况下,-s指定您只对LABEL感兴趣。

然后你可以通过反向搜索=字符来找到它的值,如下所示:

out = commands.getoutput('sudo blkid -s LABEL')
lines = out.splitlines()
for line in lines:
     if 'dev/sd' in line:
         index = line.rfind('=')
         param = line[index + 1:]
         print param