当我打印以下信息时看起来真的很难看。 文本显示很长,你无法真正阅读它。
代码:
import psutil
print("Disk: ", psutil.disk_partitions())
我得到的输出是:
Disk: [sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='D:\\', mountpoint='D:\\', fstype='', opts='cdrom'), sdiskpart(device='E:\\', mountpoint='E:\\', fstype='', opts='cdrom'), sdiskpart(device='F:\\', mountpoint='F:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='H:\\', mountpoint='H:\\', fstype='NTFS', opts='rw,removable')]
在一条长线上!有没有办法过滤输出或在多行显示它?
感谢您帮助我:)
答案 0 :(得分:1)
psutil.disk_partitinos()
为您提供系统中的分区列表。
该列表中的每个元素都是sdiskpart
的实例,它是namedtuple
,具有以下属性:
['count', 'device', 'fstype', 'index', 'mountpoint', 'opts']
您必须处理此列表并使用str.format()
和print()
格式化并以您想要的方式显示它。
请参阅psutil文档。
以“更好的方式”显示“磁盘信息”的简单功能可以简单到:
示例:强>
from psutil import disk_partitions
def diskinfo():
for i, disk in enumerate(disk_partitions()):
print "Disk #{0:d} {1:s}".format(i, disk.device)
print " Mount Point: {0:s}".format(disk.mountpoint)
print " File System: {0:s}".format(disk.fstype)
print " Options: {0:s}".format(disk.opts)
diskinfo()
<强>输出:强>
bash-4.3# python /app/foo.py
Disk #0 /dev/mapper/docker-8:1-2762733-bdb0f27645efd726d69c77d0cd856d6218da5783b2879d9a83a797f8b896b4be
Mount Point: /
File System: ext4
Options: rw,relatime,discard,stripe=16,data=ordered
答案 1 :(得分:1)
你可以这样做:
print("Disks:")
for disk in psutil.disk_partitions()):
print(disk)
这应该是这样的:
Disks:
sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed')
sdiskpart(device='D:\\', mountpoint='D:\\', fstype='', opts='cdrom')
sdiskpart(device='E:\\', mountpoint='E:\\', fstype='', opts='cdrom')
sdiskpart(device='F:\\', mountpoint='F:\\', fstype='NTFS', opts='rw,fixed')
sdiskpart(device='H:\\', mountpoint='H:\\', fstype='NTFS', opts='rw,removable')