最近python3を使い始めましたが、python2.6から多くの変更が加えられました。私は、fdiskを使って、Linuxシステムで使用可能なハードディスクの表示をフォーマットする方法があることを知りたいのですか? python2.6では、このように動作しました。python3.xを使ってLinuxでパーティションを表示
def parse_fdisk(fdisk_output):
result = {}
for line in fdisk_output.split("\n"):
if not line.startswith("/"): continue
parts = line.split()
inf = {}
if parts[1] == "*":
inf['bootable'] = True
del parts[1]
else:
inf['bootable'] = False
inf['start'] = int(parts[1])
inf['end'] = int(parts[2])
inf['blocks'] = int(parts[3].rstrip("+"))
inf['partition_id'] = int(parts[4], 16)
inf['partition_id_string'] = " ".join(parts[5:])
result[parts[0]] = inf
return result
def main():
fdisk_output = commands.getoutput("fdisk -l")
for disk, info in parse_fdisk(fdisk_output).items():
print disk, " ".join(["%s=%r" % i for i in info.items()])
問題の実際の説明が役に立ちました。 –