.. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_generated_examples_io_create-mef.py: ===================================================== Create a multi-extension FITS (MEF) file from scratch ===================================================== This example demonstrates how to create a multi-extension FITS (MEF) file from scratch using `astropy.io.fits`. ------------------- *By: Erik Bray* *License: BSD* ------------------- .. code-block:: python import os HDUList objects are used to hold all the HDUs in a FITS file. This ``HDUList`` class is a subclass of Python's builtin `list`. and can be created from scratch. For example, to create a FITS file with three extensions: .. code-block:: python from astropy.io import fits new_hdul = fits.HDUList() new_hdul.append(fits.ImageHDU()) new_hdul.append(fits.ImageHDU()) Write out the new file to disk: .. code-block:: python new_hdul.writeto('test.fits') Alternatively, the HDU instances can be created first (or read from an existing FITS file). Create a multi-extension FITS file with two empty IMAGE extensions (a default PRIMARY HDU is prepended automatically if one is not specified; we use ``overwrite=True`` to overwrite the file if it already exists): .. code-block:: python hdu1 = fits.PrimaryHDU() hdu2 = fits.ImageHDU() new_hdul = fits.HDUList([hdu1, hdu2]) new_hdul.writeto('test.fits', overwrite=True) Finally, we'll remove the file we created: .. code-block:: python os.remove('test.fits') **Total running time of the script:** ( 0 minutes 0.116 seconds) .. _sphx_glr_download_generated_examples_io_create-mef.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download :download:`Download Python source code: create-mef.py ` .. container:: sphx-glr-download :download:`Download Jupyter notebook: create-mef.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_