[英]Python: how to pass a file from a zip to a function that reads data from that file
我有一个包含.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()
从磁盘读取它,但我确信有更好的方法。
我认为你的方式很好......
这里有一个类似的问题:
加上回答:我认为问题可能是当你使用zipfile.ZipFile时你没有设置属性:尝试使用:
zipfile.ZipFile (path,"r")
以下作品:
file_nrrd = zf.extract(f_name) # extract the file from the zip
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.