Поддерживает ли Python ввод-вывод с нулевым копированием? - PullRequest
10 голосов
/ 17 сентября 2011

У меня есть два открытых файловых объекта, dest и src.Файловый объект dest открывается для записи, при этом позиция поиска размещается с некоторым смещением внутри файла, а файловый объект src открывается для чтения.Что мне нужно сделать, это просто прочитать текущую позицию в src в EOF и перенести содержимое в dest как можно быстрее.

Если бы я программировал на Java, я мог бы использовать FileChannel#transferTo() метод для выполнения операций ввода-вывода с нулевым копированием.

Поддерживает ли Python также нулевое копирование?

1 Ответ

7 голосов
/ 17 сентября 2011

Начиная с версии 3.3, Python имеет os.sendfile, который взаимодействует с различными вариантами Unix 'sendfile(2) интерфейсов ввода-вывода с нулевой копией.Он работает с файловыми дескрипторами, а не с общими файловыми объектами.Для более старых Python есть py-sendfile .

...