Я пытаюсь создать фрагмент кода Python, который сначала записывает, возможно, большой текстовый файл (Think CSV) в SpoodTemporaryFile в памяти. Тогда этот катушка сжимается GZIP. В то время как некоторые из временных файлов могут писать на диск, когда они превышают заданный размер, я хочу ожидать, или проверить, что этот код работает в обоих результатах. Учитывая это, мне также удалось сделать это только там, где я пишу файл GZIP в текстовом режиме? Я что-то здесь упускаю?
Код: Выделить всё
import tempfile
import gzip
words = ["one", "two", "three", "four", "five", "six", "seven", "eight"]
with tempfile.SpooledTemporaryFile(mode='wt+') as tmp_file:
tmp_file.write("\n".join(words))
tmp_file.seek(0)
with gzip.open(filename="test2.gz", mode="wt", compresslevel=7) as giz:
giz.write(tmp_file.read())
Я использовал gzip -test -verbose и gzcat , чтобы помочь мне подтвердить это.
Подробнее здесь:
https://stackoverflow.com/questions/796 ... o-disk-whe