我写一个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 的征求意见和想法如何来处理查询似的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top