Python and the fits module (operating system interfaces): "IOError: [Errno 2] No such file or directory" -


it seems script attempting use returning error little baffling, is, in attempting create new file old file extension saying file attempting create not exist? explain why happening , perhaps potential fix?

here script using:

#function replace nans in exposure map 0s , replace corresponding pixels in sky , large scale sensitivity map 0s. def replace_nan(filename):     #print nans replaced 0s in exposure map , corresponding pixels in sky , large scale sensitivity map replaced 0s.     print "all nans replaced 0s in " + filename + " , corresponding pixels in sky , large scale sensitivity map replaced 0s."     #open exposure map, corresponding sky , large scale sensitivity map , copy primary headers (extension 0 of hdulist) new hdulists.     hdulist_ex = fits.open(filename)     new_hdu_header_ex = fits.primaryhdu(header=hdulist_ex[0].header)     new_hdulist_ex = fits.hdulist([new_hdu_header_ex])     hdulist_sk = fits.open(filename.replace("ex","sk_corrected"))     new_hdu_header_sk = fits.primaryhdu(header=hdulist_sk[0].header)     new_hdulist_sk = fits.hdulist([new_hdu_header_sk])     hdulist_lss = fits.open(filename.replace("ex","lss_m"))     new_hdu_header_lss = fits.primaryhdu(header=hdulist_lss[0].header)     new_hdulist_lss = fits.hdulist([new_hdu_header_lss])      #for frames in image: create mask , run function replace_pix.     in range(1,len(hdulist_ex)):         mask = np.isnan(hdulist_ex[i].data)         replace_pix(hdulist_ex[i],mask,new_hdulist_ex)         replace_pix(hdulist_sk[i],mask,new_hdulist_sk)         replace_pix(hdulist_lss[i],mask,new_hdulist_lss)      #write new hdulists new images.     new_hdulist_ex.writeto(filename.replace(".img","_new.img"))     new_hdulist_sk.writeto(filename.replace("ex.img","sk_new.img"))     new_hdulist_lss.writeto(filename.replace("ex.img","lss_new.img"))      #print nans replaced 0s in exposure map , corresponding pixels in sky , large scale sensitivity map replaced 0s.     print "all nans replaced 0s in " + filename + " , corresponding pixels in sky , large scale sensitivity map replaced 0s." 

when running:

replace_nan("/users/.../sw00031048001uw1_ex.img") 

i following error:

ioerror: [errno 2] no such file or directory: '/users/.../sw00031048001uw1_sk_corrected.img' 

full traceback:

--------------------------------------------------------------------------- ioerror                                   traceback (most recent call last) <ipython-input-10-af5110b477a1> in <module>() ----> 1 replace_nan('/users/ucl_astronomy/documents/ucl/phasg199/m33_swift_corrected_usnob1_spec/sw00031048001uw1_ex.img')  <ipython-input-8-ca837d8e11f7> in replace_nan(filename)       7     new_hdu_header_ex = fits.primaryhdu(header=hdulist_ex[0].header)       8     new_hdulist_ex = fits.hdulist([new_hdu_header_ex]) ----> 9     hdulist_sk = fits.open(filename.replace("ex","sk_corrected"))      10     new_hdu_header_sk = fits.primaryhdu(header=hdulist_sk[0].header)      11     new_hdulist_sk = fits.hdulist([new_hdu_header_sk])  //anaconda/lib/python2.7/site-packages/astropy/io/fits/hdu/hdulist.pyc in fitsopen(name, mode, memmap, save_backup, cache, **kwargs)     127         raise valueerror('empty filename: %s' % repr(name))     128  --> 129     return hdulist.fromfile(name, mode, memmap, save_backup, cache, **kwargs)     130      131   //anaconda/lib/python2.7/site-packages/astropy/io/fits/hdu/hdulist.pyc in fromfile(cls, fileobj, mode, memmap, save_backup, cache, **kwargs)     269      270         return cls._readfrom(fileobj=fileobj, mode=mode, memmap=memmap, --> 271                              save_backup=save_backup, cache=cache, **kwargs)     272      273     @classmethod  //anaconda/lib/python2.7/site-packages/astropy/io/fits/hdu/hdulist.pyc in _readfrom(cls, fileobj, data, mode, memmap, save_backup, cache, **kwargs)     790             if not isinstance(fileobj, _file):     791                 # instantiate fits file object (ffo) --> 792                 ffo = _file(fileobj, mode=mode, memmap=memmap, cache=cache)     793             else:     794                 ffo = fileobj  //anaconda/lib/python2.7/site-packages/astropy/io/fits/file.pyc in __init__(self, fileobj, mode, memmap, clobber, cache)     135             self._open_fileobj(fileobj, mode, clobber)     136         elif isinstance(fileobj, string_types): --> 137             self._open_filename(fileobj, mode, clobber)     138         else:     139             self._open_filelike(fileobj, mode, clobber)  //anaconda/lib/python2.7/site-packages/astropy/io/fits/file.pyc in _open_filename(self, filename, mode, clobber)     438             self._open_zipfile(self.name, mode)     439         else: --> 440             self._file = fileobj_open(self.name, pyfits_modes[mode])     441             # make we're @ beginning of file     442         self._file.seek(0)  //anaconda/lib/python2.7/site-packages/astropy/io/fits/util.pyc in fileobj_open(filename, mode)     412         """     413  --> 414         return open(filename, mode)     415      416  

look @ first line of traceback:

----> 9     hdulist_sk =     fits.open(filename.replace("ex","sk_corrected")) 

you're trying open file "corrected" filename before file exists. fits.open opening existing fits files.


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

android - Keyboard hides my half of edit-text and button below it even in scroll view -

css - Make div keyboard-scrollable in jQuery Mobile? -