UnifiedInputRegistry

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

基类:_UnifiedIORegistryBase

只读的统一注册表。

在 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_formatSTR

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

data_class

可以写入的对象的类。

返回
reader可赎回的

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

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

读入数据。

参数
cls
*args

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

formatSTR或无
cache布尔

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

**kwargs

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

返回
对象或无

已注册读取器的输出。

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

注册一个读卡器函数。

参数
data_formatSTR

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

data_class

读取器生成的对象的类。

function功能

读入数据对象的函数。

force可选的布尔

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

priority可选的

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

unregister_reader(data_format, data_class)[源代码]

取消注册读卡器功能

参数
data_formatSTR

数据格式标识符。

data_class

读取器生成的对象的类。