Страница 1 из 1

Временные файлы

СообщениеДобавлено: 24.10.2013 09:35:13
Vufer
Камрады, есть вопрос.
Пишу программулю, которая будет вызывать внешний скрипт, который работает с файлами. Есть промежуточный результат, для оценки выполнения с заданными параметрами. Его неплохо было бы сохранять в папке с временными фалами. Вопрос: как получить от системы путь, дабы потом его скормить скрипту? Кросплатформенность не особо беспокоит, интересует в первую очередь linux.

Re: Временные файлы

СообщениеДобавлено: 24.10.2013 09:51:10
qivi
А вроде путь стандартный "/tmp", или бывают варианты?

Re: Временные файлы

СообщениеДобавлено: 24.10.2013 09:53:44
Vufer
qiviА вот кто его знает... Вдруг варианты? Насколько корректно будет просто гадить в /tmp?

Re: Временные файлы

СообщениеДобавлено: 24.10.2013 10:24:16
zub
GetEnvironmentVariable('TEMP')
??

Re: Временные файлы

СообщениеДобавлено: 24.10.2013 11:40:53
Vufer
zub GetEnvironmentVariable('TEMP') возвращает пустоту.

Добавлено спустя 15 минут 9 секунд:
Всем спасибо, вопрос снят :) Вики говорит, что In Unix and Linux, the global temporary directories are /tmp and /var/tmp.
qivi, вы были абсолютно правы :)

Re: Временные файлы

СообщениеДобавлено: 24.10.2013 12:15:11
zub
тогда есть еще
GetEnvironmentVariable('TMP')
и тамже
gettempdir
а вот хардкодить такие вещи - не гут

Re: Временные файлы

СообщениеДобавлено: 24.10.2013 12:54:16
Vufer
zub, GetEnvironmentVariable('TMP') так же вернул пустоту, полагаю актуально для окошек.
А вот gettempdir как раз то, что нужно, и даже лучше, т.к. может дать пользовательские темпы :)
Хардкодить такие штуки тоже не считаю правильным, потому и задал вопрос.
Премного благодарен.

Re: Временные файлы

СообщениеДобавлено: 20.11.2013 07:43:25
xdsl
Присоединяюсь, gettempdir - лучший вариант, если не забывать его чистить. А то бывает ситуации - формируешь набор данных, ловишь необрабатываемое исключение и все - программа завершилась, временный файл - не удален. Пока отлаживаешь - нагенерируешь их столько, что жесткий диск закончится.

Есть конечно tmpfs, которую часто на /tmp монтируют. В оперативной памяти, работает быстро и самоочищается при загрузке ОС. Однако для временного хранения больших файлов - не приспособлена. Например у меня:
$df | grep /tmp
tmpfs 2,0G 196K 2,0G 1% /tmp
Итого - два гига, много не наработаешь.