Можно ли открыть файл в режиме совместного использования без изменения обработчика файла? - PullRequest
1 голос
/ 10 ноября 2011

В Python я открываю временный файл для записи, используя tempfile.mkstemp, чтобы быть уверенным, что файл уничтожается при освобождении (даже в случае сбоя приложения).

Теперь янеобходимо передать этот файл другому приложению, но это приложение не сможет открыть файл, пока файл открыт для записи.

Можно ли изменить режим доступа или открыть файл без изменения файла?дескриптор, чтобы предотвратить его слишком быстрое удаление?

Обновление: открытие файла в режиме чтения не решает проблему, файл должен быть открыт в режиме shared.

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

Нет задокументированного способа переключения режимов файлов (r, w, a) для открытого файла.

Вместо TempFile , рассмотрите возможность использования mmap для обмена данными между программами.

0 голосов
/ 10 ноября 2011

Почему бы не открыть его в режиме 'a'? Таким образом вы можете читать и добавлять?

Кроме того, почему бы не открыть TempFile вручную, а затем при событии atexit, чтобы удалить, когда ваша программа будет завершена.

...