首先,该问题的产生是HEG另存批量modis重投影文件,使用python+cmd替换文件内容导致如下错误:
Unable to allocate bufptr memory (errval = -1)
Error: GetMultibandRunlist : Reading Input Parameter File
: Error in GetBeginAndEndLocs. Probably an empty line is needed after END in the parameter file.
Fatal Error, Terminating...
Fatal Error, Terminating...
问题产生的原因:
linux操作系统下的换行符为/n,而windows操作系统下的换行符则为/r/n。
解决方法一:((Python))
#CRLF与LF格式转换
data = open(Out_Swath_File_Path, 'rb').read()
data=str(data, 'utf-8')
newdata = data.replace('\r\n', '\n')
newdata=bytes(newdata, encoding='utf-8')
if newdata != data:
f = open(Out_Swath_File_Path, 'wb')
f.write(newdata)
f.close()
解决方法二:(Notepad++) windows的CR LF就都变成Unix/Linux的LF f
ite(newdata)
f.close()