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