Мне нужно открыть файловый объект из библиотеки C, которую я оборачиваю с помощью Cython модуль. Я хочу повторно использовать общий код io python для таких вещей, как буферизация, readline () и т. Д.
Новый модуль ввода-вывода, кажется, именно то, что мне нужно, но на самом деле использование его из Cython кажется нетривиальным, у меня пробовал несколько подходов: Код Python упаковывает мой объект в BufferedReader / BufferedWriter - этот вариант работает и менее беспорядочный, чем предыдущий.
Мои вопросы:
1) Я что-то упускаю и изобретаю колесо здесь?
2) Что именно из IOBase мне нужно реализовать, чтобы BufferedReader / Writer был доволен моим объектом в текущей и будущих версиях python? Это где-нибудь задокументировано?
3) Как это будет работать в python 2.6, где ввод-вывод - это чистый python? Я предполагаю, что производительность пострадает, но это будет работать, верно?