是否有可能在不改变文件处理程序的情况下以共享模式打开文件?

在Python中,我使用tempfile.mkstemp打开一个临时文件进行写入,以确保文件在发布时被破坏(即使应用程序崩溃)。

现在我需要将这个文件传递给另一个应用程序,但是这个应用程序不会打开文件,只要文件打开写入。

我可以更改访问模式或重新打开文件而不更改文件句柄以防止它被过早删除吗?

更新:以读取模式打开文件不能解决问题,文件必须以shared模式打开。

没有记录的方式来切换打开文件的文件模式(r,w,a)。

而不是TempFile ,请考虑使用mmap在程序之间共享数据。

为什么不以'a'模式打开它? 这样你可以阅读和追加?

另外为什么不手动打开TempFile,然后在一个atexit事件中删除,当你的程序完成。