Что лучший способ состоит в том, чтобы записать содержанию StringIO в файл?

Что является лучшим способом записать содержание a StringIO буферизовать в файл?

Я в настоящее время делаю что-то как:

buf = StringIO()
fd = open ('file.xml', 'w')
# populate buf
fd.write (buf.getvalue ())

Но затем buf.getvalue () сделал бы копию содержания?

31
задан gauteh 16 August 2016 в 09:11
поделиться

1 ответ

Использовать shutil.copyfileobj:

with open ('file.xml', 'w') as fd:
  buf.seek (0)
  shutil.copyfileobj (buf, fd)

или shutil.copyfileobj (buf, fd, -1) для копирования из файлового объекта без использования блоков ограниченного размера (используется для предотвращения неконтролируемого потребления памяти).

57
ответ дан 27 November 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: