get_pkg_data_contents¶
- astropy.utils.data.get_pkg_data_contents(data_name, package=None, encoding=None, cache=True)[source]¶
Retrieves a data file from the standard locations and returns its contents as a bytes object.
- Parameters:
- data_name
python:str
Name/location of the desired data file. One of the following:
The name of a data file included in the source distribution. The path is relative to the module calling this function. For example, if calling from
astropy.pkname
, use'data/file.dat'
to get the file inastropy/pkgname/data/file.dat
. Double-dots can be used to go up a level. In the same example, use'../data/file.dat'
to getastropy/data/file.dat
.If a matching local file does not exist, the Astropy data server will be queried for the file.
A hash like that produced by
compute_hash
can be requested, prefixed by ‘hash/’ e.g. ‘hash/34c33b3eb0d56eb9462003af249eff28’. The hash will first be searched for locally, and if not found, the Astropy data server will be queried.A URL to some other file.
- package
python:str
, optional If specified, look for a file relative to the given package, rather than the default of looking relative to the calling module’s package.
- encoding
python:str
, optional When
None
(default), returns a file-like object with aread
method that returnsstr
(unicode
) objects, usinglocale.getpreferredencoding
as an encoding. This matches the default behavior of the built-inopen
when nomode
argument is provided.When
'binary'
, returns a file-like object where itsread
method returnsbytes
objects.When another string, it is the name of an encoding, and the file-like object’s
read
method will returnstr
(unicode
) objects, decoded from binary using the given encoding.- cachebool
If True, the file will be downloaded and saved locally or the already-cached local copy will be accessed. If False, the file-like object will directly access the resource (e.g. if a remote URL is accessed, an object like that from
urllib.request.urlopen
is returned).
- data_name
- Returns:
- contents
bytes
The complete contents of the file as a bytes object.
- contents
- Raises:
urllib.error.URLError
If a remote file cannot be found.
OSError
If problems occur writing or reading a local file.
See also
get_pkg_data_fileobj
returns a file-like object with the data
get_pkg_data_filename
returns a local name for a file containing the data