首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >HDF4Error: SD (59):HDF内部错误

HDF4Error: SD (59):HDF内部错误
EN

Stack Overflow用户
提问于 2018-02-14 21:33:02
回答 1查看 348关注 0票数 0

我正在尝试下载一个hdf文件并读取python,如下所示

代码语言:javascript
代码运行次数:0
运行
复制
from pyhdf import SD

file = open("temp.hdf", 'w')
ftp.retrbinary('RETR '+ filename, file.write)
file.close()

hdf=SD.SD('temp.hdf')

它可以工作,但很快我就得到了以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
Traceback (most recent call last):

  File "<ipython-input-46-55805a9d569b>", line 6, in <module>
    hdf=SD.SD('temp.hdf')

  File "/usr/local/lib/python2.7/dist-packages/pyhdf/SD.py", line 1444, in __init__
    _checkErr('SD', id, "cannot open %s" % path)

  File "/usr/local/lib/python2.7/dist-packages/pyhdf/error.py", line 23, in _checkErr
    raise HDF4Error(err)

HDF4Error: SD (59): HDF Internal error
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-14 21:52:47

您需要以二进制模式打开输出文件:

代码语言:javascript
代码运行次数:0
运行
复制
file = open("temp.hdf", 'wb') # was 'w'

更好的方法是使用with自动关闭文件:

代码语言:javascript
代码运行次数:0
运行
复制
with open("temp.hdf", 'wb') as out:
    ftp.retrbinary('RETR '+ filename, out.write)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48788498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档