class numpy.DataSource(destpath='.')[源代码]

A generic data source file (file, http, ftp, …).

DataSources can be local files or remote files/URLs. The files may also be compressed or uncompressed. DataSource hides some of the low-level details of downloading the file, allowing you to simply pass in a valid file path (or URL) and obtain a file object.

destpath : str or None, optional

Path to the directory where the source file gets downloaded to for use. If destpath is None, a temporary directory will be created. The default path is the current directory.


URLs require a scheme string (http://) to be used, without it they will fail:

>>> repos = DataSource()
>>> repos.exists('')
>>> repos.exists('')

Temporary directories are deleted when the DataSource is deleted.


>>> ds = DataSource('/home/guido')
>>> urlname = ''
>>> gfile ='')  # remote file
>>> ds.abspath(urlname)

>>> ds = DataSource(None)  # use with temporary file
<open file '/home/guido.foobar.txt', mode 'r' at 0x91d4430>
>>> ds.abspath('/home/guido/foobar.txt')


abspath(path) Return absolute path of file in the DataSource directory.
exists(path) Test if path exists.
open(path[, mode, encoding, newline]) Open and return file-like object.