繁体   English   中英

Python:如何将文件从zip传递到从该文件读取数据的函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM