题
我写一个Python扩展提供访问的Solaris的kstat数据(以同样的精神作为航运Perl库太阳:的Solaris :: kstat的),我有一个关于有条件地返回列表或单个对象的问题。蟒蛇使用情况看起来是这样的:
cpu_stats = cKstats.lookup(module='cpu_stat') cpu_stat0 = cKstats.lookup('cpu_stat',0,'cpu_stat0')
,因为它是当前实现的,查找()返回所有的kstat对象,其匹配的列表。第一种情况下将导致对象的列表(多达有CPU)的和所述第二呼叫指定完全单一的kstat和将返回含有一个的kstat列表。
我的问题是它的形式很差返回一个对象时,只有一个匹配,当有多少?
列表谢谢你的周到答案!我蟒福较弱,但越来越强,由于像你这样的人。
解决方案
“我的问题是它的形式很差返回一个对象时,只有一个匹配,当有许多列表吗?”
它形式差返回不一致的类型。
返回一致的类型:的kstat的列表
大多数Pythonistas不喜欢使用type(result)
,以确定它是否是一个的kstat或kstat的列表。
我们宁愿检查列表的长度在一个简单,一致的方式。
此外,如果长度取决于一块系统信息,或许一个API方法可以提供该元数据。
看 DB-API PEP 的征求意见和想法如何来处理查询似的东西。
不隶属于 StackOverflow