【问题标题】:HDF4Error: SD (59): HDF Internal errorHDF4Error: SD (59): HDF 内部错误
【发布时间】:2018-07-25 02:29:08
【问题描述】:

我正在尝试下载一个 hdf 文件并按如下方式在 python 中读取它

from pyhdf import SD

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

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

它可以工作,但在我收到以下错误后不久:

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

【问题讨论】:

    标签: python hdf pyhdf


    【解决方案1】:

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

    file = open("temp.hdf", 'wb') # was 'w'
    

    最好使用with 自动关闭文件:

    with open("temp.hdf", 'wb') as out:
        ftp.retrbinary('RETR '+ filename, out.write)
    

    【讨论】:

      猜你喜欢
      • 2021-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多