2012-06-19 1 views
3

배경 : 나는 메시 또는 작은 부분으로 분해 한 후 전열을 정비 할 것이다 큰 형상 함께 일하고파이썬 사전을 촬영하고 HDF5 파일에 쓰기

. 예를 들어, 블록이 16 개로 분리 된 경우, 블록이 4 개 또는 각각 4 개의 "패치"로 재구성 될 수 있습니다. 이 프로세스가 끝난 후에도 요소를 추적해야합니다. 필자는 패치의 모든 요소를 ​​되돌려주는 "키"로서 patchIndex (패치 수 목록이 있음)와 1) 로컬 인덱스 (패치 내의 요소 인덱스)와 2) 글로벌 인덱스 (전체 지오메트리 내의 요소 인덱스).

문제 : 지구에 내가 HDF5 파일에이 정보를 얻을 수있는 방법

?

MY 코드

: 여기

가 알고 도움이 경우 내 사전을 설정하고 방법입니다

def readAscii(ElementsList,gpmetisfile): 
    f = open(gpmetisfile, 'r') 
    indexer={} 
    i=0  
    for line in gpmetisfile: 
     patchIndex = eval(line) 

     if patchIndex in indexer: 
      localIndex=indexer[patchIndex] 

     else: 
      indexer[patchIndex]=0 

     test = ElementsList[i].setLocalIndex(patchIndex,localIndex) 
     if test: 
      indexer[patchIndex] +=1 

편집 일 - gpmetisfile 내가을 분해하는 데 사용하는 것입니다 형상을 조각으로. n 번째 요소에 해당하는 n 번째 줄의 형식으로 제공되는데,이 요소는 단순히 하나의 값, 즉 해당 요소가 속한 패치입니다. ElementsList는 지오메트리의 요소 목록입니다.

+2

h5py 사용 방법은 http://code.google.com/p/h5py/ – TJD

+0

고마워요! 내가 h5py를 사용하고 있는데, 나는 주로 사용해야하는 실제 코드에 대해 혼란 스럽다. – Ason

+0

동일한 문제가 발생했습니다. 사전을 작성하려고하면 키 오류가 발생합니다. HDF5는 직사각형의 데이터 배열만을 사용합니다 ... 아니면 적어도 다른 것들을 저장하는 방법을 알 수는 없습니다. – ely

답변

0

문제의 세부 사항을 완전히 이해하지 못했지만 hdf5 파일로 작업하는 가장 쉬운 방법은 멋진 h5py 라이브러리를 사용하는 것입니다. Here 설명서를 찾을 수 있습니다.

+1

기본적으로 파이썬에서 사전을 HDF5 파일로 어떻게 넣을까요? 미안하다. 링크 주셔서 감사합니다! – Ason