0
df = subprocess.Popen(["df", options.partname], stdout=subprocess.PIPE)
output = df.communicate()[0]
print output

给出以下内容:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/sys-scratch
                     1446412616 847216452 524555652  62% /scratch

在某些情况下(机器),

output.split("\n")[1] 

给我

/dev/mapper/sys-scratch

我想在哪里

/dev/mapper/sys-scratch 1446412616 847216452 524555652  62% /scratch  # in one line

我正在使用输出中的值,如下所示:

device, size, used, available, percent, mountpoint = output.split("\n")[1].split()

对于某些机器,这会失败,因为output.split("\n")[1]只有一个值。我怎样才能解决这个问题 ?

4

1 回答 1

0

在这种特定情况下,您可以重新加入最后两行:

df = subprocess.Popen(["df", options.partname], stdout=subprocess.PIPE)
output = df.communicate()[0]
output = ' '.join(output.splitlines()[1:])
device, size, used, available, percent, mountpoint = output.split()
于 2013-04-05T16:13:24.677 回答