РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
536 of 541 menu

Класс DataSource

Класс DataSource из модуля numpy.lib.datasource предоставляет унифицированный интерфейс для работы с источниками данных. Он позволяет загружать данные как из локальных файлов, так и из удалённых источников (по протоколам HTTP, HTTPS, FTP). Класс автоматически кэширует загруженные файлы в локальной директории и управляет путями к данным.

Синтаксис

class numpy.lib.datasource.DataSource( destpath: str = None, *, verbose: bool = False, open_hook: Callable = None )

При создании экземпляра класса можно указать следующие параметры:

destpath - путь к директории для хранения загруженных файлов (по умолчанию используется текущая рабочая директория);

verbose - флаг, управляющий выводом информации о загрузке (по умолчанию False);

open_hook - функция-обработчик, вызываемая перед открытием файла (может использоваться для добавления собственной логики).

Основные методы

Класс предоставляет несколько ключевых методов для работы с данными:

open(path, mode='r') - открывает файл из указанного источника (локального или удалённого) и возвращает файловый объект;

exists(path) - проверяет существование файла по указанному пути (включая удалённые ресурсы);

abspath(path) - возвращает абсолютный путь к файлу в локальной файловой системе (если файл был загружен из удалённого источника, он будет сохранён в директории кэша).

Пример

Создадим экземпляр класса DataSource и загрузим текстовый файл из удалённого источника:

import numpy as np from numpy.lib.datasource import DataSource ds = DataSource(verbose=True) with ds.open('https://example.com/data.txt', 'rt') as f: content = f.read() print(content)

Результат выполнения кода (пример вывода):

"Sample data from remote source"

Пример

Загрузим данные из удалённого источника и сохраним их в локальной директории для дальнейшего использования:

import numpy as np from numpy.lib.datasource import DataSource ds = DataSource(destpath='./cache', verbose=True) local_path = ds.abspath('https://example.com/dataset.npy') arr = np.load(local_path) print(arr)

Результат выполнения кода:

[1 2 3 4 5]

Пример

Проверим существование файла перед его загрузкой:

import numpy as np from numpy.lib.datasource import DataSource ds = DataSource() if ds.exists('https://example.com/data.csv'): with ds.open('https://example.com/data.csv', 'r') as f: print("File exists and opened successfully") else: print("File does not exist")

Результат выполнения кода:

"File exists and opened successfully"

Пример

Работа с локальными файлами через DataSource:

1 2 3 4 5 6 7 8 9 10
import numpy as np from numpy.lib.datasource import DataSource ds = DataSource() with ds.open('data.bin', 'r') as f: data = f.read() arr = np.fromstring(data, sep=' ') print(arr)

Результат выполнения кода:

[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]

Смотрите также

  • класс DataSource,
    который предоставляет единый интерфейс для доступа к данным из различных источников
  • метод open,
    который открывает файл из указанного источника и возвращает файловый объект
  • метод exists,
    который проверяет существование файла по указанному пути
  • метод abspath,
    который возвращает абсолютный путь к файлу в локальной файловой системе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить