get_pkg_data_contents

astropy.utils.data.get_pkg_data_contents(data_name, encoding=None, cache=True) [edit on github][source]

Retrieves a data file from the standard locations and returns its contents as a bytes object.

Parameters :

data_name : 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 in astropy/pkgname/data/file.dat. Double-dots can be used to go up a level. In the same example, use '../data/file.dat' to get astropy/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/395dd6493cc584df1e78b474fb150840’. 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.

encoding : str, optional

When None (default), returns a file-like object with a read method that on Python 2.x returns bytes objects and on Python 3.x returns str (unicode) objects, using locale.getpreferredencoding() as an encoding. This matches the default behavior of the built-in open when no mode argument is provided.

When 'binary', returns a file-like object where its read method returns bytes objects.

When another string, it is the name of an encoding, and the file-like object’s read method will return str (unicode) objects, decoded from binary using the given encoding.

cache : bool

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 urllib2.urlopen is returned).

Returns :

contents : bytes

The complete contents of the file as a bytes object.

Raises :

urllib2.URLError :

If a remote file cannot be found.

IOError :

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

Page Contents