[AstroPy] Capturing pyfits warnings
Bridgman, William T.
william.t.bridgman at nasa.gov
Wed Sep 15 10:26:10 EDT 2010
try:
fimg=pyfits.open(dfile)
except:
whatever...
header=fimg[0].header
If warnings are warnings, this runs fine.
If warnings are elevated to exceptions, the pyfits.open throws the
exception before loading fimg. The fimg[0].header access fails.
Putting fimg[0].header access inside the try: block doesn't help
either (of course).
Perhaps inside the except: block I could set warnings back from
exceptions to warnings and do pyfits.open again. I don't know that
much about python innards, but this sounds like something that would
cause other weird (stack?) problems as I examine the 22,000+ FITS
files in our data area.
Tom
On Sep 15, 2010, at 10:06 AM, jtaylor2 at stsci.edu wrote:
> Tom,
>
> I am not sure I understand exactly what is going on here, but if
> having the warnings module issue exceptions instead of warnings is
> causing another warning to be raised as an exception that you would
> like to remain as a warning, you can fix this by using
> filterwarnings and supplying a regular expression that matches just
> the warning that you want raised as an exception. In your case
> something like:
>
> warnings.filterwarnings('error',message='.*Warning: File may have
> been.*"')
>
> If you contact me directly at jtaylor2 at stsci.edu with more
> details, especially if you can point me to a fits file that is
> causing the problem, I may be able to be of more help.
>
> Jim T.
--
Dr. William T."Tom" Bridgman Scientific Visualization
Studio
Global Science & Technology, Inc. NASA/Goddard Space Flight
Center
Email: William.T.Bridgman at nasa.gov Code 610.3
Phone: 301-286-1346 Greenbelt, MD 20771
FAX: 301-286-1634 http://svs.gsfc.nasa.gov/
More information about the AstroPy
mailing list