我有一个包含.nrrd类型文件的zip文件。 pynrrd lib带有读取功能。如何从zip中提取.nrrd
文件并将其传递给nrrd.read()
函数?
我尝试过关注,但这会在nrrd.read()
行产生以下错误:
TypeError未被用户代码处理,file()参数1必须为 编码的字符串没有NULL字节,不是str
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 :(得分:0)
我认为你的方式很好......
这里有一个类似的问题:
加上答案: 我认为问题可能是当你使用zipfile.ZipFile时你没有设置属性: 尝试使用:
zipfile.ZipFile (path,"r")
答案 1 :(得分:0)
以下作品:
file_nrrd = zf.extract(f_name) # extract the file from the zip