簡體   English   中英

從模塊調用函數時,您能說出返回的內容嗎? (蟒蛇)

[英]When calling a function from a module can you say what is returned? (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

返回的對象實際上是一個類似元組的對象,因此您也可以對其進行切片然后將其解壓縮:

used, free = psutil.swap_memory()[1:3]

還有更復雜的方法,它具有忽略順序的優點:

from operator import attgetter

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

根據dm03514的帖子,我建議您使用swap_memory()的自定義包裝器:

def my_swap_memory():
    _, used, free, _, _, _ = psutil.swap_memory()
    return swap(B=used, C=free)

然后把它稱為

returndata = my_swap_memory()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM