hdf4错误:SD(59):HDF Intern

2024-05-13 21:36:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图下载一个hdf文件并按如下方式读取它

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

Tags: inpylibpackagesusrlocaldistline
1条回答
网友
1楼 · 发布于 2024-05-13 21:36:50

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

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

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

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

相关问题 更多 >