Форум сайта python.su
есть вопрос Python 3.3
you use the io.StringIO module when
Answer:
1) using a string-like object that is an immutable type
2) writing string contents to a diskfile
3)performing text based input/output operations on a file-like in memory stream
4)manipulating a diskfiles contents without using cumbersome seek/write operations
5) transmitting a string over an open soket
Насколько понимаю, если нужно работать со строкой как с файлом. Модуль StringIO как раз дает такую возможность.
Но какой вариант правильный не могу сообразить, по моему ни один не подходит, ближе всего в моем понимании 1) или 3)
Офлайн
Думаю , что никакой . Насколько я знаю , базовый принип работы этого модуля состоив в том, чтобы не записывать строку в файл , а в буфер.
Офлайн
мда….
3)
Офлайн
JOHN_16Был не прав. Модуль StringIO позволяет работать со строкой как с файловым объектом. Все операции с файловым объектом производится в оперативной памяти. Иногда даже “Мдаа…” помогает задуматься
мда…. 3)
Отредактировано spikejke (Апрель 7, 2018 15:57:00)
Офлайн
io.StringIO не является полной заменой файла, так как в нём нет файлового дескриптора. Его невозможно использовать во многих операциях, где возможно использовать файлы. В частности subprocess.Popen() не может использовать такой объект в качестве потока ввода/вывода. Может, это и недоделка, но с такой проблемой сталкивался и приходилось делать отдельный класс для реализации псевдофайла при использовании subprocess.Popen() в юнит-тестах (для сравнения вывода программы с эталонным).
Офлайн