2012-08-05 30 views
2

我想從GDAL的Python shell中看到更多的錯誤消息,但我似乎無法弄清楚如何捕獲它們(它們存在的位置)。例如,打開一個文件的GeoTIFF不存在:stderr(來自GDAL)沒有在Python shell中顯示

from osgeo import gdal 
ds = gdal.Open('noexist.tif') 

顯示了一個交互式Python外殼(PythonWin的或IDLE)絕對沒有。然而,如果這些命令是系統中的殼(擊,cmd.exe的,等等)運行或該保存爲showit.py文件,「隱藏」的錯誤消息辱罵:

C:\>c:\Python32\python.exe showit.py 
ERROR 4: `noexist.tif' does not exist in the file system, 
and is not recognised as a supported dataset name. 

這是一個有用的錯誤消息發送到系統shell的stderr。任何想法如何也可以在Python交互式shell中顯示,或者一般捕獲?

回答

2

查看python gdal gotchas。我相信你可以通過在初始導入之後調用gdal.UseExceptions()來得到這個工作。像這樣:

from osgeo import gdal 
gdal.UseExceptions() 
gdal.Open('myfile.tif") 

來源:http://trac.osgeo.org/gdal/wiki/PythonGotchas