UnifiedReadWrite

class astropy.io.registry.UnifiedReadWrite(instance, cls, method_name, registry=None)[source]

Bases: object

Base class for the worker object used in unified read() or write() methods.

This lightweight object is created for each read() or write() call via read / write descriptors on the data object class. The key driver is to allow complete format-specific documentation of available method options via a help() method, e.g. Table.read.help('fits').

Subclasses must define a __call__ method which is what actually gets called when the data object read() or write() method is called.

For the canonical example see the Table class implementation (in particular the connect.py module there).

Parameters:
instanceobject

Descriptor calling instance or None if no instance

clstype

Descriptor calling class (either owner class or instance class)

method_namepython:str

Method name, e.g. ‘read’ or ‘write’

registry_UnifiedIORegistryBase or python:None, optional

The IO registry.

Attributes Summary

registry

Unified I/O registry instance.

Methods Summary

help([format, out])

Output help documentation for the specified unified I/O format.

list_formats([out])

Print a list of available formats to console (or out filehandle)

Attributes Documentation

registry

Unified I/O registry instance.

Methods Documentation

help(format=None, out=None)[source]

Output help documentation for the specified unified I/O format.

By default the help output is printed to the console via pydoc.pager. Instead one can supplied a file handle object as out and the output will be written to that handle.

Parameters:
formatpython:str

Unified I/O format name, e.g. ‘fits’ or ‘ascii.ecsv’

outpython:None or python:path-like object

Output destination (default is stdout via a pager)

list_formats(out=None)[source]

Print a list of available formats to console (or out filehandle)

outNone or file handle object

Output destination (default is stdout via a pager)