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

时间:2011-11-10 12:51:22

标签: python windows fopen

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

现在我需要将此文件传递给另一个应用程序,但只要打开文件进行写入,此应用程序就无法打开该文件。

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:-1)

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

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