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

extract the usb name from 'blkid' output

我想提取附加到我的 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]

您可以使用 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