我正在尝试下载一个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
发布于 2018-02-14 21:52:47
您需要以二进制模式打开输出文件:
file = open("temp.hdf", 'wb') # was 'w'
更好的方法是使用with
自动关闭文件:
with open("temp.hdf", 'wb') as out:
ftp.retrbinary('RETR '+ filename, out.write)
https://stackoverflow.com/questions/48788498
复制相似问题