-2

我想提取连接到我的 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]
4

1 回答 1

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
于 2017-08-22T19:37:29.223 回答