Открытие файлового объекта из Cython

Мне нужно открыть файловый объект из библиотеки C, которую я оборачиваю с помощью Cython модуль. Я хочу повторно использовать общий код io python для таких вещей, как буферизация, readline () и т. Д.

Новый модуль ввода-вывода, кажется, именно то, что мне нужно, но на самом деле использование его из Cython кажется нетривиальным, у меня пробовал несколько подходов: Код Python упаковывает мой объект в BufferedReader / BufferedWriter - этот вариант работает и менее беспорядочный, чем предыдущий.

Мои вопросы:

1) Я что-то упускаю и изобретаю колесо здесь?

2) Что именно из IOBase мне нужно реализовать, чтобы BufferedReader / Writer был доволен моим объектом в текущей и будущих версиях python? Это где-нибудь задокументировано?

3) Как это будет работать в python 2.6, где ввод-вывод - это чистый python? Я предполагаю, что производительность пострадает, но это будет работать, верно?

20
задан bdew 25 November 2010 в 15:08
поделиться