Что является лучшим способом записать содержание a StringIO
буферизовать в файл?
Я в настоящее время делаю что-то как:
buf = StringIO()
fd = open ('file.xml', 'w')
# populate buf
fd.write (buf.getvalue ())
Но затем buf.getvalue ()
сделал бы копию содержания?
Использовать shutil.copyfileobj:
with open ('file.xml', 'w') as fd:
buf.seek (0)
shutil.copyfileobj (buf, fd)
или shutil.copyfileobj (buf, fd, -1)
для копирования из файлового объекта без использования блоков ограниченного размера (используется для предотвращения неконтролируемого потребления памяти).