Astropy核心包实用程序 (astropy.utils

介绍

这个 astropy.utils 包包含通用实用程序函数和类。示例包括数据结构、从url下载和缓存的工具,以及版本互操作功能。

这个功能不是特定于天文学的,但主要是供Astropy开发人员使用的。对于用户来说,使用它是安全的,但是函数和类通常更复杂,或者说是针对Astropy的特定需求。

由于这些实用程序大多是独立的和随机的,因此通常通过它们的docstring最好地理解它们,因此本文档通常不像其他包那样有详细的部分。例外情况如下:

注解

这个 astropy.utils.compat 此文档中不包含子包。它包含与python和numpy的旧/新版本兼容的实用程序模块,还包括一些stdlib的错误修复,这些错误对于 astropy . 建议开发人员至少浏览一下此子包的源代码,但由于其中包含大量特定于版本的代码,因此大部分无法可靠地包含在这里。其内容仅供内部使用 astropy 并可随时更改。不要在外部包或代码中使用它。

参考/API

astropy.utils.codegen模块

在运行时生成新Python代码的实用程序。

功能

make_function_with_signature \(功能[, args, ...] )

从现有函数中生成一个新函数,但具有所需的签名。

astropy.utils.collections模块

包含专用集合类的模块。

Classes

HomogeneousList \(类型[, values] )

列表的一个子类,只包含给定类型的元素。

astropy.utils控制台模块

控制台输入和输出的实用程序。

功能

isatty \(文件)

返回 True 如果 file 是个tty。

color_print * ARGs [, end] )

使用ANSI转义序列将颜色和样式打印到终端。

human_time \(秒)

返回一个友好的时间字符串,该字符串的长度始终为6个字符。

human_file_size (尺寸)

返回表示2-4个字符长的文件大小的友好字符串。

print_code_line (行) [, col, file, tabwidth, ...] )

打印一行源代码,突出显示行中的特定字符位置。

terminal_size \ [file] )

返回一个包含终端高度和宽度的元组(height,width)。

Classes

ProgressBar \(总计u或项[, ...] )

在终端中显示进度条的类。

Spinner \(消息[, color, file, step, chars] )

在终端中显示微调器的类。

ProgressBarOrSpinner \(总计,消息[, color, file] )

显示 ProgressBarSpinner 取决于操作的总大小是否已知。

astropy.utils.data_信息模块

此模块包含与DataInfo类相关的函数和方法,DataInfo类为信息属性和摘要信息方法提供容器。

DataInfo对象附加到astropy中的Quantity、SkyCoord和Time类。在这里,它允许这些类在表中使用,并统一携带表列属性,如名称、格式、数据类型、meta和description。

功能

data_info_factory \(名称,函数)

工厂创建可作为 option 用于输出数据对象摘要信息。

dtype_info_name (dType)

返回面向人类的字符串名称 dtype 精氨酸

Classes

BaseColumnInfo \ [bound] )

任何可以是astropy表中列的内容的基信息类。

DataInfo \ [bound] )

使用数据描述符添加 info 用于以统一和可移植的方式存储数据属性的属性。

MixinInfo \ [bound] )

ParentDtypeInfo \ [bound] )

混入信息数据类型来自父级

astropy.utils.decorators公司模块

各种功能和类装饰。

功能

deprecated \(自[, message, name, ...] )

用于将函数或类标记为已弃用。

deprecated_attribute \(姓名,自[, message, ...] )

用于将公共属性标记为已弃用。

deprecated_renamed_argument \(旧名[, ...] )

弃用a _renamed_ 或 _removed_ 函数参数。

format_doc \(docstring, * ARGs, *  * 克瓦格斯)

替换装饰对象的docstring,然后格式化它。

Classes

classproperty \ [fget, doc, lazy] )

类似 property ,但允许类级属性。

lazyproperty \(fget)[, fset, fdel, doc] )

工作方式与property()类似,但只计算一次该值。

sharedmethod 

这是一个方法修饰符,它允许instancemethod和 classmethod 同名。

astropy.utils.diff模块

功能

diff_values (a,b) [, rtol, atol] )

区分两个标量值。

report_diff_values (a,b) [, fileobj, indent_width] )

将两个值之间的差异报告写入指定的类文件对象。

where_not_allclose (a,b) [, rtol, atol] )

一个版本 numpy.allclose() 它返回两个数组不同的索引,而不仅仅是一个布尔值。

astropy.utils.例外模块

本模块包含astropy的错误/异常和警告。特定于给定子包的异常应该 not 在这里,但在特定的子包装。

Classes

AstropyWarning 

所有Astropy警告都应该从中继承的基本警告类。

AstropyUserWarning 

Astropy 的主要警告等级。

AstropyDeprecationWarning 

用于指示不推荐使用的功能的警告类。

AstropyPendingDeprecationWarning 

一个警告类,指示即将被弃用的功能。

AstropyBackwardsIncompatibleChangeWarning 

一个警告类,指示与以前版本不兼容的astropy更改。

DuplicateRepresentationWarning 

已注册表示名称的警告类

astropy.utils.iers公司包裹

Classes

Conf ()

的配置参数 astropy.utils.iers .

IERS \ [data, masked, names, dtype, meta, ...] )

泛型IERS表类,定义插值函数。

IERSRangeError 

日期超出IER有效范围时的任何错误

IERSStaleWarning 

IERS_A \ [data, masked, names, dtype, meta, ...] )

针对IERS A的IERS表类,由USNO提供。

IERS_Auto \ [data, masked, names, dtype, ...] )

提供最新的IERS数据,并根据需要自动处理更新值的下载。

IERS_B \ [data, masked, names, dtype, meta, ...] )

针对IERB的IERS表类,由IERS本身提供。

LeapSeconds \ [data, masked, names, dtype, ...] )

闰秒类,保持太古标准差。

earth_orientation_table ()

地球自转和参考系统服务的默认IERS表。

astropy.utils.自省模块

与Python运行时自省相关的函数。

功能

resolve_name \(姓名, * 附加零件u)

将名称解析为 module.object 返回一个对象。

minversion \(模块,版本[, inclusive, ...] )

返回 True 如果指定的Python模块满足最低版本要求,并且 False 如果没有。

find_current_module \ [depth, finddiff] )

确定从中调用此函数的模块/包。

isinstancemethod \(cls,目标)

返回 True 如果给定对象是定义它的类的实例方法(与 staticmethod 或A classmethod

astropy.utils.metadata模块

此模块包含用于处理元数据的帮助函数和类。

功能

common_dtype \(arrs)

使用numpy查找ndarray列表的公共数据类型。

enable_merge_strategies * 合并策略)

上下文管理器临时启用一个或多个自定义元数据合并策略。

merge \(左,右[, merge_func, ...] )

合并 leftright 元数据对象。

Classes

MergeConflictError 

MergeConflictWarning 

MergePlus ()

合并 leftright 使用加号运算符的对象。

MergeNpConcatenate ()

合并 leftright 对象使用np.连接.

MergeStrategy ()

基类,用于定义将来自左、右两个源的元数据合并到单个输出中的策略。

MergeStrategyMeta \(名称,基,成员)

将MergeStrategy子类注册到MERGEu STRATEGIES注册表的元类。

MetaData \ [doc, copy] )

类的描述符 meta 财产。

MetaAttribute \ [default] )

用于定义存储在对象中的自定义属性的描述符 meta dict和可以有一个已定义的默认值。

astropy.utils.misc模块

由相对较小的通用实用程序组成的“抓包”,没有明确的模块/包可供居住。

功能

isiterable [(Obj])

返回 True 如果给定的对象是iterable。

silence ()

沉默的上下文管理器系统标准输出以及系统标准.

format_exception \(消息, * ARGs, *  * 克瓦格斯)

给定异常消息字符串,使用新样式的格式参数 {{filename}}{{lineno}}{{func}} 和/或 {{text}} 填写有关发生的异常的信息。

find_api_page [(Obj]) [, version, openinbrowser, ...] )

确定指定对象的API页的URL,并可选择在web浏览器中打开该页。

is_path_hidden \(文件路径)

确定给定的文件或目录是否隐藏。

walk_skip_hidden \(顶部[, onerror, followlinks] )

包装纸 os.walk 它跳过隐藏的文件和目录。

indent \(秒)[, shift, width] )

缩进文本块。

dtype_bytes_or_chars (dType)

解析出数据类型.str值,如“<U5”或“<f8”。

Classes

NumpyRNGContext \(种子)

上下文管理器(用于 with 语句)将把numpy随机数生成器(RNG)种子设定为特定值,然后将RNG状态恢复到以前的状态。

JsonCustomEncoder * [, skipkeys, ...] )

支持JSON默认编码器不支持的数据类型。

OrderedDescriptor * ARGs, *  * 克瓦格斯)

4.3 版后已移除.

OrderedDescriptorContainer \(cls\名称,基,…)

4.3 版后已移除.

Asterpy.utils.Parsing模块

用于铺层的包装物,以提供螺纹安全。

功能

lex \(lextab,软件包[, reflags] )

从局部变量创建词法分析器。

yacc \(Tab模块,程序包)

从局部变量创建解析器。

Classes

ThreadSafeParser \(解析器)

包装由生成的解析器 ply.yacc.yacc

astropy.utils.state模块

管理一门简单的全球科学。看到了吗 添加新配置项 了解更多详细信息。

Classes

ScienceState ()

科学状态子类用于管理可能影响科学结果的全局项。

astropy.utils.shapes模块

shapedLikardarray mixin类和与形状相关的函数。

功能

check_broadcast * 形状)

确定是否可以仅基于两个或多个Numpy数组的形状元组相互广播。

unbroadcast \(数组)

给定一个数组,返回一个新数组,它是原始数组的最小子集,可以重新广播回原始数组。

Classes

NDArrayShapeMethods \()

提供形状更改方法的Mixin类。

ShapedLikeNDArray ()

提供形状更改方法的Mixin类。

IncompatibleShapeError \(形状a,形状u a u idx,…)

文件下载

astropy.utils数据模块

用于访问、下载和缓存数据文件的函数。

功能

download_file \(远程url[, cache, ...] )

下载一个URL并选择性地缓存结果。

download_files_in_parallel \(网址[, cache, ...] )

从给定的url并行下载多个文件。

get_readable_fileobj 姓名[, ...] )

从文件或URL生成一个可读的、可查找的类似文件的对象。

get_pkg_data_fileobj \(数据名称)[, package, ...] )

从包的标准位置检索数据文件,并将该文件作为读取字节的类似文件的对象提供。

get_pkg_data_filename \(数据名称)[, package, ...] )

从包的标准位置检索数据文件,并提供数据的本地文件名。

get_pkg_data_contents \(数据名称)[, package, ...] )

从标准位置检索数据文件,并将其内容作为bytes对象返回。

get_pkg_data_fileobjs \(数据目录[, package, ...] )

返回给定目录中与给定glob模式匹配的所有数据文件的可读文件对象。

get_pkg_data_filenames \(数据目录[, package, ...] )

返回给定目录中与给定glob模式匹配的所有数据文件的路径。

get_pkg_data_path \(*路径[, package] )

从包含源的数据目录中获取路径。

is_url (字符串)

字符串对于测试URL是否有效 download_file() .

is_url_in_cache \(url\密钥[, pkgname] )

检查是否下载了 url_key 在缓存中。

get_cached_urls \ [pkgname] )

获取缓存中的URL列表。

cache_total_size \ [pkgname] )

返回缓存中所有文件的总大小(以字节为单位)。

cache_contents \ [pkgname] )

获取将缓存的url映射到文件名的dict。

export_download_cache \(文件名u或\u obj[, ...] )

将缓存内容导出为ZIP文件。

import_download_cache \(文件名u或\u obj[, ...] )

将ZIP文件的内容导入缓存。

import_file_to_cache \(url\键,文件名[, ...] )

将filename指定的磁盘文件导入缓存。

check_download_cache \ [check_hashes, pkgname] )

对缓存执行一致性检查。

clear_download_cache \ [hashorurl, pkgname] )

通过删除本地文件来清除数据文件缓存。

compute_hash \(本地fn)

计算文件的MD5哈希。

get_free_space_in_dir [路径] [, unit] )

给定一个目录的路径,返回该文件系统上的可用空间量。

check_free_space_in_dir \(路径,大小)

确定给定目录是否有足够的空间来存放给定大小的文件。

get_file_contents * ARGs, *  * 克瓦格斯)

检索文件名或类似文件的对象的内容。

Classes

Conf ()

的配置参数 astropy.utils.data .

CacheMissingWarning 

此警告表示标准缓存目录不可访问,第一个参数提供警告消息。

CacheDamaged \(*参数[, bad_urls, bad_files] )

记录出现问题的URL或文件。

XML

这个 astropy.utils.xml.* 模块提供各种 XML 加工工具。

astropy.utils.xml.检查模块

用于检查各种XML相关字符串是否符合标准的函数集合。

功能

check_anyuri \(uri)

返回 True 如果 uri 是RFC 2396中定义的有效URI。

check_id \(ID)

返回 True 如果 ID 是有效的XML ID。

check_mime_content_type \(内容类型)

返回 True 如果 content_type 是一个有效的MIME内容类型(至少在语法上),如rfc2045所定义。

check_token \(令牌)

返回 True 如果 令牌 是一个有效的XML标记,如xmlschema第2部分所定义的那样。

fix_id \(ID)

给定一个任意字符串,创建一个可用作xml id的字符串。

astropy.utils.xml.iterparser模块

这个模块包括一个基于快速迭代器的XML解析器。

功能

get_xml_iterator \(来源[, ...] )

返回XML文件元素上的迭代器。

get_xml_encoding \(来源)

通过读取XML文件的头来确定XML文件的编码。

xml_readlines \(来源)

从给定的XML文件中获取行。

astropy.utils.xml.unescaper模块

URL unescaper函数。

功能

unescape_all \(url)

递归地取消给定URL的转义。

astropy.utils.xml.验证模块

函数来执行XML模式和DTD验证。此时,这将对xmlint进行子进程调用。如果能找到合适的工具,将来某个时候可以使用基于Python的库。

功能

validate_schema \(文件名,架构文件)

根据架构或DTD验证XML文件。

astropy.utils.xml.writer模块

包含一个类,该类简化了格式良好且缩进良好的XML的流式输出。

Classes

XMLWriter \(文件)

一个编写格式良好且缩进良好的XML的类。