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 pa
| 194 | |
| 195 | @set_module('numpy.lib.npyio') |
| 196 | class DataSource: |
| 197 | """ |
| 198 | DataSource(destpath='.') |
| 199 | |
| 200 | A generic data source file (file, http, ftp, ...). |
| 201 | |
| 202 | DataSources can be local files or remote files/URLs. The files may |
| 203 | also be compressed or uncompressed. DataSource hides some of the |
| 204 | low-level details of downloading the file, allowing you to simply pass |
| 205 | in a valid file path (or URL) and obtain a file object. |
| 206 | |
| 207 | Parameters |
| 208 | ---------- |
| 209 | destpath : str or None, optional |
| 210 | Path to the directory where the source file gets downloaded to for |
| 211 | use. If `destpath` is None, a temporary directory will be created. |
| 212 | The default path is the current directory. |
| 213 | |
| 214 | Notes |
| 215 | ----- |
| 216 | URLs require a scheme string (``http://``) to be used, without it they |
| 217 | will fail:: |
| 218 | |
| 219 | >>> repos = np.lib.npyio.DataSource() |
| 220 | >>> repos.exists('www.google.com/index.html') |
| 221 | False |
| 222 | >>> repos.exists('http://www.google.com/index.html') |
| 223 | True |
| 224 | |
| 225 | Temporary directories are deleted when the DataSource is deleted. |
| 226 | |
| 227 | Examples |
| 228 | -------- |
| 229 | :: |
| 230 | |
| 231 | >>> ds = np.lib.npyio.DataSource('/home/guido') |
| 232 | >>> urlname = 'http://www.google.com/' |
| 233 | >>> gfile = ds.open('http://www.google.com/') |
| 234 | >>> ds.abspath(urlname) |
| 235 | '/home/guido/www.google.com/index.html' |
| 236 | |
| 237 | >>> ds = np.lib.npyio.DataSource(None) # use with temporary file |
| 238 | >>> ds.open('/home/guido/foobar.txt') |
| 239 | <open file '/home/guido.foobar.txt', mode 'r' at 0x91d4430> |
| 240 | >>> ds.abspath('/home/guido/foobar.txt') |
| 241 | '/tmp/.../home/guido/foobar.txt' |
| 242 | |
| 243 | """ |
| 244 | |
| 245 | def __init__(self, destpath=os.curdir): |
| 246 | """Create a DataSource with a local path at destpath.""" |
| 247 | if destpath: |
| 248 | self._destpath = os.path.abspath(destpath) |
| 249 | self._istmpdest = False |
| 250 | else: |
| 251 | import tempfile # deferring import to improve startup time |
| 252 | self._destpath = tempfile.mkdtemp() |
| 253 | self._istmpdest = True |
no outgoing calls
no test coverage detected
searching dependent graphs…