システム ドライブの情報を取得しようとしています。私が抱えている問題は、情報を分割して必要な場所に配置できることです。以下は、複数のボリュームがある場合の望ましい出力です。
Mountpoint: C:\
OS Volume: True
GUID: d1dd2893f42711e09090806e6f6e6963
Mountpoint: D:\
OS Volume: False
GUID: b4584ed2e3b211e2ae7d806e6f6e6963
以下は、現在持っているものを実行したときに出力される情報です。
Mountpoint: C:\
Mountpoint: D:\
OS Volume: True
OS Volume: False
GUID: d1dd2893f42711e09090806e6f6e6963
GUID: b4584ed2e3b211e2ae7d806e6f6e6963
私は自分が間違っていることを知っていますが、それを修正する方法がわかりません。私はインターウェブを調べましたが、役に立ちませんでした。それは私の素朴さかもしれません。
私が使用しているコードは次のとおりです。
def driveInfo(agent):
info = "info " + agent + " | grep "
drives = subprocess.Popen(info + "'\[mountpoints\]'", shell=True, stdout=subprocess.PIPE)
drives, err = drives.communicate()
strdrives = str(drives)
### Volume Information
mount = subprocess.Popen(info + "'\[mountpoints\]'", shell=True, stdout=subprocess.PIPE)
osvol = subprocess.Popen(info + "'\[OSVolume\]'", shell=True, stdout=subprocess.PIPE)
guid = subprocess.Popen(info + "'\[guid\]'", shell=True, stdout=subprocess.PIPE)
### Communicate calls
mount, err = mount.communicate()
osvol, err = osvol.communicate()
guid, err = guid.communicate()
### String conversions
mount = str(mount).strip()
osvol = str(osvol).strip()
guid = str(guid).strip()
### Drive Information Output
for drive in strdrives:
print mount
print osvol
print guid
driveInfo(agent)