2016-08-10 2 views
1

.nrrd 유형 파일이 들어있는 zip 파일이 있습니다. pynrrd lib에는 읽기 기능이 있습니다. .nrrd 파일을 zip에서 가져 와서 nrrd.read() 함수에 전달하려면 어떻게해야합니까? Python : 파일에서 zip 파일의 데이터를 읽는 함수에 파일을 전달하는 방법

나는 다음 시도했다, 그러나 그것은 nrrd.read() 줄에서 다음과 같은 오류를 제공합니다 :

형식 오류는 사용자 코드에 의해 처리되지 않은이었다 파일() 인수 1

을 str에하지, NULL 바이트가없는 인코딩 된 문자열이어야합니다 내가 파일을 쓸 수
in_dir = r'D:\Temp\Slikvideo\JPEG\SV_4_1_mask' 
zip_file = 'Annotated.mitk' 

zf = zipfile.ZipFile(in_dir + '\\' + zip_file) 

f_name = 'datafile.nrrd' # .nrrd file in zip 

file_nrrd = zf.read(f_name) # pull the file from the zip 

img_nrrd, options = nrrd.read(file_nrrd) # read the .nrrd image data from the file 

디스크에 .ZIP에서 가져온 다음 nrrd.read()와 디스크에서 읽을 수는 있지만 내가 더 나은 방법이 있는지입니다.

답변

0

나는 비슷한 질문이 ... 당신의 좋은 방법이라고 여기

생각 :

Similar question

플러스 대답 : 나는 문제가 어쩌면 당신이 사용하는 경우이다 생각 당신이 속성을 설정하지 zipfile.ZipFile : 사용해보십시오 :

zipfile.ZipFile (path,"r") 
+0

"r"을 추가하면 같은 오류가 발생합니다. 비슷한 질문을했는데, 파일이 pygame.load() 함수에 전달 될 때와 다르다. 주어진 솔루션은 내가 이미 가지고 있고 작동하지 않는 것이다. – jdelange

0

다음 작품 :

file_nrrd = zf.extract(f_name) # extract the file from the zip 
관련 문제