从模块调用函数时,您能说出返回的内容吗?(Python)

从模块调用函数时,您能说出返回的内容吗?(Python),python,Python,这听起来可能有点不切实际,但如果我从模块psutils调用一个函数,有没有办法说我想要返回哪个值 例如: psutil.swap_memory() 返回 swap(total=A, used=B, free=C, percent=D, sin=0, sout=0) 有没有办法让它只返回B和C?有几种方法,最明显的是: info = psutil.swap_memory() used, free = info.used, info.free 返回的对象实际上是一个类似元组的对

这听起来可能有点不切实际,但如果我从模块psutils调用一个函数,有没有办法说我想要返回哪个值

例如:

    psutil.swap_memory()
返回

    swap(total=A, used=B, free=C, percent=D, sin=0, sout=0)

有没有办法让它只返回B和C?

有几种方法,最明显的是:

info = psutil.swap_memory()
used, free = info.used, info.free
返回的对象实际上是一个类似元组的对象,因此您也可以对其进行切片,然后将其解压缩:

used, free = psutil.swap_memory()[1:3]
还有更复杂的方法,其优点是忽略顺序:

from operator import attgetter

used, free = attrgetter('used', 'free')(psutil.swap_memory())

根据dm03514的帖子,我建议您为swap_memory()使用定制的包装器:

然后像这样称呼它

returndata = my_swap_memory()

我不这么认为,仅仅访问您需要的数据有什么不对<代码>交换=psutil.swap_memory();免费交换;swap.used谢谢您的帮助:)
returndata = my_swap_memory()