Pythonの拡張返されたオブジェクトのエチケット
-
06-09-2019 - |
質問
私は(出荷perlのライブラリ日:: Solarisの:: KSTATと同じ精神で)は、Solarisのkstatデータへのアクセスを提供するために、Pythonの拡張を書いていますし、私は条件付きでリストまたは単一のオブジェクトを返すことについて質問があります。 Pythonのユースケースは、次のようになります。
cpu_stats = cKstats.lookup(module='cpu_stat') cpu_stat0 = cKstats.lookup('cpu_stat',0,'cpu_stat0')
それは現在実装されていますとおり、検索()一致するすべてのkstatオブジェクトのリストを返します。 (のCPUと同数)の第一のケースは、オブジェクトのリストをもたらすであろうと第2の呼が完全に単一のkstatを指定一つのkstatを含むリストを返す。
私の質問は、多くがある場合、それが悪いだけで1試合があるときに、単一のオブジェクトを返すため、フォーム、およびリストのですか?
思いやりの答えをありがとう!私のpython-FUは弱いが原因あなたのような人々に強く成長しています。
解決
「私の質問は、それが唯一の試合、そして多くがあるリストがある場合は、単一のオブジェクトを返すために貧しいフォームのですか?」
これは、一貫性のない型を返すために貧しいフォームです。
一貫性の型を返します:。のkstatの一覧を
ほとんどのPythonistasは、それがのkstatまたはカーネル統計情報のリストかどうかを決定するためにtype(result)
を使用して好きではありません。
私たちは、むしろ簡単な、一貫した方法で、リストの長さを確認したいです。
また、長さは、おそらくAPIのメソッドは、このメタデータを提供することができる、システム情報の一部に依存している場合
方法についてアドバイスやアイデアを DB-APIのPEPするを見てくださいクエリのようなものを扱うます。