register_identifier#
- astropy.io.registry.register_identifier(data_format, data_class, identifier, force=False)#
Associate an identifier function with a specific data type.
- Parameters:
- data_format
str The data format identifier. This is the string that is used to specify the data type when reading/writing.
- data_classclass
The class of the object that can be written.
- identifierfunction
A function that checks the argument specified to
readorwriteto determine whether the input can be interpreted as a table of typedata_format. This function should take the following arguments:origin: A string"read"or"write"identifying whether the file is to be opened for reading or writing.path: The path to the file.fileobj: An open file object to read the file’s contents, orNoneif the file could not be opened.
One or both of
pathorfileobjmay beNone. If they are bothNone, the identifier will need to work fromargs[0].The function should return True if the input can be identified as being of format
data_format, and False otherwise.- forcebool, optional
Whether to override any existing function if already present. Default is
False.
- data_format
Examples
To set the identifier based on extensions, for formats that take a filename as a first argument, you can do for example
from astropy.io.registry import register_identifier from astropy.table import Table def my_identifier(*args, **kwargs): return isinstance(args[0], str) and args[0].endswith('.tbl') register_identifier('ipac', Table, my_identifier) unregister_identifier('ipac', Table)