Я работаю над Python script, которому нужно создать около 50 отдельных временных файлов, которые все добавляются часто в течение script и объединены в конце. Я уверен, что модуль tempfile
может делать то, что мне нужно, но мне не удалось выяснить, как читать документацию.
Я хочу использовать временные файлы - в отличие от переменных - для сохранения системной памяти, поскольку эти куски данных растут, поскольку script обрабатывает десятки тысяч других файлов.
Следующий фрагмент кода - это хак, который я использую для создания этих файлов (не временно) в каталоге:
item = (string from another file) # string must id file for future use
tmpfile = 'tmpfiles/' + item
if item not in totalitems:
totalitems.add(item)
with open(tmpfile, 'w') as itemfile:
output = some stuff
tmpfile.write(output)
else:
with open(tmpfile, 'a') as itemfile:
output = different stuff
tmpfile.write(output)
Я думаю, что мне нужно tempfile.NamedTemporaryFile()
. Согласно документации:
Это имя может быть извлечено из имени элемента файлового объекта.
К сожалению, я не понимаю, что это значит. Мне просто нужно снова позвонить по каждому файлу позже, когда я снова перейду через свой "элемент" в файлы, которые я обрабатываю. Я предполагаю, что это довольно прямолинейно, и я просто плотный. В случае, если это имеет значение, у меня есть версии этого script для Python 2.7.1 и 3.2.3. Мне действительно нужно, чтобы тот или иной работал; Я создал как учебное упражнение.