我有一个数据库目录,它读取图像路径以及其他属性,并且有一个部分试图打开代码中的数据集,以便其他进程可以继续,如果开放是成功但我已经遇到stumblimg块至于如何在下面的代码之后告诉进程继续进行,代码运行顺利,但是当它遇到图像时它无法打开它停止而不是再次开始读取数据库并打开一个新图像。
try:
hDataset = gdal.Open( pszFilename, gdal.GA_ReadOnly )
except IOError:
print("gdalinfo failed - unable to open '%s'." % pszFilename )
status = "UPDATE %s SET job = 11 WHERE id = %s" % (table,row[2])
setstatus = conn.cursor()
setstatus.execute(status)
conn.commit()
setstatus.close()
else:
print "file opened sucessfully"
hDataset.close()
答案 0 :(得分:0)
GDAL通常不会抛出异常,这是一种耻辱。启用gdal.UseExceptions()
后,它有时会抛出RuntimeError
(仅限!),但我发现此功能非常不可靠。
如果不成功,GDAL的某些函数返回None
,其他函数返回状态整数,其中0表示良好,非零表示错误代码。
我使用的典型表格是这样的:
hDataset = gdal.Open(pszFilename, gdal.GA_ReadOnly)
if hDataset is None:
raise IOError("Could not open '%s'" % (pszFilename,))
band_num = 1
band = hDataset.GetRasterBand(band_num)
if band is None:
raise AttributeError("Raster band %s cannot be fetched" % (band_num,))
...