UnifiedInputRegistry#

class astropy.io.registry.UnifiedInputRegistry[源代码]#

基类:_UnifiedIORegistryBase

只读的统一注册表。

Added in version 5.0.

实例

首先,让我们从创建只读注册表开始。

>>> from astropy.io.registry import UnifiedInputRegistry
>>> read_reg = UnifiedInputRegistry()

此注册表中没有任何内容。让我们做一个阅读器,用于 Table 班级:

from astropy.table import Table

def my_table_reader(filename, some_option=1):
    # Read in the table by any means necessary
    return table  # should be an instance of Table

然后,可以向I/O注册表注册这样的函数:

read_reg.register_reader('my-table-format', Table, my_table_reader)

请注意,然后我们不能读入带有::的表

d = Table.read('my_table_file.mtf', format='my-table-format')

为什么?因为 Table.read 使用Astropy的默认全局注册表,这是一个单独的注册表。相反,我们可以通过注册表上的Read方法进行读取:

d = read_reg.read(Table, 'my_table_file.mtf', format='my-table-format')

方法总结

get_reader(data_format, data_class)

获取的阅读器 data_format .

read(cls, *args[, format, cache])

读入数据。

register_reader(data_format, data_class, ...)

注册一个读卡器函数。

unregister_reader(data_format, data_class)

取消注册读卡器功能。

方法文件

get_reader(data_format, data_class)[源代码]#

获取的阅读器 data_format .

参数:
data_format : strPython :字符串

数据格式标识符。这是在读/写时用于指定数据类型的字符串。

data_class

可以写入的对象的类。

返回:
reader : callable()Python:Callable()

此格式和类的已注册读取器函数。

read(cls, *args, format=None, cache=False, **kwargs)[源代码]#

读入数据。

参数:
cls
*args

传递给此方法的参数取决于格式。

format : strNonePYTHON:字符串或PYTHON:无
cache : bool布尔

是否缓存读入数据的结果。

**kwargs

传递给此方法的参数取决于格式。

返回:
object or None

已注册读取器的输出。

register_reader(data_format, data_class, function, force=False, priority=0)[源代码]#

注册一个读卡器函数。

参数:
data_format : strPython :字符串

数据格式标识符。这是在读取时用于指定数据类型的字符串。

data_class

读取器生成的对象的类。

function : functionPYTHON:函数

读入数据对象的函数。

force : bool ,可选可选的布尔

如果已经存在,是否重写任何现有函数。默认为 False .

priority : int ,可选PYTHON:int,可选

读取器的优先级,用于在尝试确定要使用的最佳读取器时比较可能的格式。较高的优先级优先于较低的优先级,默认优先级为0(但允许负数)。

unregister_reader(data_format, data_class)[源代码]#

取消注册读卡器功能。

参数:
data_format : strPython :字符串

数据格式标识符。

data_class

读取器生成的对象的类。