我正在写一个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