get_pkg_data_filename#
- astropy.utils.data.get_pkg_data_filename(data_name, package=None, show_progress=True, remote_timeout=None)[源代码]#
从包的标准位置检索数据文件,并提供数据的本地文件名。
此功能类似于
get_pkg_data_fileobj但返回文件 name 而不是一个可读的类似文件的对象。这意味着此函数必须始终在本地缓存远程文件,这与get_pkg_data_fileobj.- 参数:
- data_name :
strPython :字符串 所需数据文件的名称/位置。以下之一:
源分发中包含的数据文件的名称。路径与调用此函数的模块相关。例如,如果从
astropy.pkname使用'data/file.dat'把文件放进去astropy/pkgname/data/file.dat. 双点可以用来提升一个级别。在同一个例子中,使用'../data/file.dat'得到astropy/data/file.dat.如果不存在匹配的本地文件,则会向Astropy数据服务器查询该文件。
像这样的杂凑
compute_hash可以请求,前缀为“hash/”,例如“hash/34c33b3eb0d56eb9462003af249eff28”。散列将首先在本地搜索,如果没有找到,将查询Astropy数据服务器。
- package :
str,可选Python:字符串,可选 如果指定,则查找相对于给定包的文件,而不是默认的相对于调用模块的包查找的文件。
- show_progress : bool ,可选可选的布尔
如果文件是从远程服务器下载的,是否显示进度条。默认为
True.- remote_timeout :
floatPython :浮点 请求超时(以秒为单位)(默认为可配置
astropy.utils.data.Conf.remote_timeout)
- data_name :
- 返回:
- filename :
strPython :字符串 本地文件系统上与请求的数据相对应的文件路径
data_name.
- filename :
- 加薪:
urllib.error.URLError如果找不到远程文件。
OSError如果写入或读取本地文件时出现问题。
参见
get_pkg_data_contents以bytes对象的形式返回文件或url的内容
get_pkg_data_fileobj返回包含数据的类似文件的对象
实例
这将检索
astropy.wcs测验::>>> from astropy.utils.data import get_pkg_data_filename >>> fn = get_pkg_data_filename('data/3d_cd.hdr', ... package='astropy.wcs.tests') >>> with open(fn) as f: ... fcontents = f.read() ...
这将通过哈希在本地或从astropy数据服务器检索数据文件:
>>> from astropy.utils.data import get_pkg_data_filename >>> fn = get_pkg_data_filename('hash/34c33b3eb0d56eb9462003af249eff28') >>> with open(fn) as f: ... fcontents = f.read() ...