Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python .txt文件是否已关闭?_Python_C++ - Fatal编程技术网

Python .txt文件是否已关闭?

Python .txt文件是否已关闭?,python,c++,Python,C++,我有个小问题。我有一个项目,我正在工作,需要两个程序来读/写一些.txt文件 < Python写入一个.txt文件,C++从中读取。C++做它需要做的事情,然后把它自己的信息写入python必须读取的另一个.txt文件。 我想知道的是,如果Python在打开同一个文件之前关闭了.txt文件,那么Python可能仍然在写东西,反之亦然?< C++ >p> 如果您需要有关此难题的任何其他信息,请随时与我联系。在python中,无论何时使用: f.open() 永远跟着它走 f.close() 那

我有个小问题。我有一个项目,我正在工作,需要两个程序来读/写一些.txt文件

< Python写入一个.txt文件,C++从中读取。C++做它需要做的事情,然后把它自己的信息写入python必须读取的另一个.txt文件。

我想知道的是,如果Python在打开同一个文件之前关闭了.txt文件,那么Python可能仍然在写东西,反之亦然?< C++ >p>


如果您需要有关此难题的任何其他信息,请随时与我联系。

在python中,无论何时使用:

f.open()
永远跟着它走

f.close()
那你就知道它关门了

见:

回复:评论

埃塔

尽管有点粗俗,但我认为通读之后我最喜欢的是这一条:

  if (  0 != rename("c:/foo.txt", "c:/foo.txt")  ) {
     printf("already opened\n");
  }

在执行操作后,始终使用
with open()
方法关闭文件。见本手册第7.2节


一旦完成,文件就被关闭。

< p>您可以考虑让每个“写入器”进程将其输出写入临时文件,关闭文件,然后将其重命名为“读取器”进程正在寻找的文件名。
如果文件存在,则相应的读卡器进程知道它可以从中读取。

添加一个最小的代码来复制此文件。如果文本文件仅存在于两个进程之间传递消息,则可能更容易完全跳过文件并直接通信?我知道Python可以使用<代码> cType < /Cult>模块调用C++函数…使用IPC……您可以尝试在每次编写文件时锁定文件。据我所知,在CPP中,您可以使用
flock
。在Python中,你可以使用<代码> FielOkc< /Cult>模块。OK的可能副本,但是C++程序知道Python程序何时调用“代码>打开/代码>,而<代码>关闭<代码>还没有被调用?@凯文,一个变量,也许是BoOL,可能会用来跟踪打开和关闭,如果在程序之间执行此操作,可能可以使用另一个文件或本地internet连接在两个程序之间创建连接,也可能让一个程序写入其他输入文件描述符。我确信有更好的方法,而不是问题的答案。技术上要求一个C++解决方案来确定源文件是否关闭。上述解决方案是一种方法,确保在C++解决方案读取文件之前完成文件操作。OP询问如何在打开Python文件之前知道它是否已关闭。如果发布的操作已完成,并且“with open()”方法已退出,则文件将关闭并准备打开和读取。
with open(in_file, 'w') as f:
    content = 'Example text'
    f.write(content)