2017-08-22 1 views
-2

私のLinuxシステムに接続されたUSBラベルを抽出したい。私はPythonでいくつかのコードを書いて、それはうまく動作しますが、私はあまり複雑でないようにしたい。任意のアイデア...ありがとう。ここで'blkid'出力からusb名を抽出する

はコードです:

#!/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] 

答えて

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 
関連する問題