我正在寫一個python擴展以提供對Solaris kstat數據的訪問(與運行perl庫Sun :: Solaris :: Kstat相同的精神),並且我有一個關於有條件地返回列表的問題或一個單一的對象。蟒蛇用例看起來像:Python擴展返回對象禮儀
cpu_stats = cKstats.lookup(module='cpu_stat') cpu_stat0 = cKstats.lookup('cpu_stat',0,'cpu_stat0')
,因爲它是目前實現的,查詢()返回所有的kstat對象,其匹配的列表。第一種情況會導致一個對象列表(與CPU一樣多),第二個調用完全指定一個單一的kstat,並返回一個包含一個kstat的列表。
我的問題是可憐的形式返回一個單一的對象時,只有一個匹配,並有一個列表時,有很多?
謝謝你的深思熟慮的答案!我的蟒蛇很弱,但由於像你這樣的人而變得更強壯。
即使你在編寫擴展模塊的上下文中提出這個問題,如果你正在編寫純Python函數,答案也是一樣的。 – Miles 2009-06-02 17:28:01