문제

Solaris KSTAT 데이터에 대한 액세스를 제공하기 위해 파이썬 확장을 작성하고 있습니다 (선적 Perl Library Sun :: Solaris :: KSTAT와 같은 정신으로). 조건부로 목록이나 단일 객체를 반환하는 것에 대한 질문이 있습니다. 파이썬 유스 케이스는 다음과 같습니다.

    cpu_stats = cKstats.lookup(module='cpu_stat')
    cpu_stat0 = cKstats.lookup('cpu_stat',0,'cpu_stat0')

현재 구현되었으므로 Lookup ()는 일치하는 모든 KSTAT 객체의 목록을 반환합니다. 첫 번째 사례는 객체 목록 (CPU가있는 것과 마찬가지로)을 초래하고 두 번째 호출은 단일 KSTAT를 완전히 지정하고 하나의 KSTAT가 포함 된 목록을 반환합니다.

내 질문은 단 하나의 일치 만있을 때 단일 객체를 반환하는 것이 좋지 않은 형태이며, 많은 사람들이있을 때 목록이 있습니까?

사려 깊은 대답에 감사드립니다! 내 Python-fu는 약하지만 당신과 같은 사람들로 인해 더 강해집니다.

도움이 되었습니까?

해결책

"내 질문은 단 하나의 일치 만있을 때 단일 객체를 반환하는 것이 좋지 않은 형태이며, 많은 사람들이있을 때 목록이 있습니까?"

일관되지 않은 유형을 반환하는 것은 형식이 좋지 않습니다.

일관된 유형을 반환하십시오 : KSTAT 목록.

대부분의 Pythonistas는 사용을 좋아하지 않습니다 type(result) KSTAT인지 또는 KSTAT 목록인지 확인합니다.

차라리 목록의 길이를 간단하고 일관된 방식으로 확인하고 싶습니다.

또한 길이가 시스템 정보에 의존하는 경우 API 방법 이이 메타 데이터를 제공 할 수 있습니다.

보다 DB-API PEP 쿼리와 같은 것을 처리하는 방법에 대한 조언과 아이디어.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top