2 votes

stderr (de GDAL) non affiché dans le shell Python

J'aimerais voir plus de messages d'erreur dans le shell Python à partir de GDAL mais je ne parviens pas à trouver comment les capturer (lorsqu'ils existent). Par exemple, ouvrir un fichier GeoTIFF qui n'existe pas :

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

ne montre absolument rien sur un shell Python interactif (PythonWin ou IDLE). Cependant, si ces commandes sont exécutées dans un interpréteur de commandes système (Bash, cmd.exe, etc.) ou si vous sauvegardez ceci comme un fichier showit.py un message d'erreur "caché" est affiché :

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.

Il s'agit d'un message d'erreur utile envoyé à stderr du shell du système. Avez-vous une idée de la façon dont cela peut également être affiché dans l'interpréteur de commandes interactif Python, ou être capturé en général ?

2voto

Jzl5325 Points 1720

Regardez les gotchas de python gdal. Je pense que vous pouvez faire fonctionner ce système en appelant simplement gdal.UseExceptions() après votre importation initiale. Comme ceci :

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

Fuente: http://trac.osgeo.org/gdal/wiki/PythonGotchas

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X