execfile()是否在Python中打开和/或关闭文件?

execfile()是否在Python中打开和/或关闭文件?,python,io,fifo,execfile,Python,Io,Fifo,Execfile,我有三个文件:myfifo.py名为pipe,writer.py: path = "myfifo.py" fifo = open(path) for i in range(1,4): fifo.write( "print %d" % i ) fifo.close() path = "myfifo.py" execfile(path) 和reader.py: path = "myfifo.py" fifo = open(path) for i in range(1,4): fi

我有三个文件:
myfifo.py
名为pipe,
writer.py

path = "myfifo.py"
fifo = open(path)

for i in range(1,4):
  fifo.write( "print %d" % i )

fifo.close()
path = "myfifo.py"

execfile(path)
reader.py

path = "myfifo.py"
fifo = open(path)

for i in range(1,4):
  fifo.write( "print %d" % i )

fifo.close()
path = "myfifo.py"

execfile(path)
如果我执行读卡器文件
/reader.py
,然后执行-writer(在其他终端中)
/writer.py
,我会得到预期的结果:

1
2
3
但它为什么有效呢


问题:执行文件是否打开
myfifo.py
?它会关闭它吗?这里推荐什么做法?我的意思是,我是否应该同时关闭客户端和服务器文件中的
FiFo

不太清楚您在问什么。你期望的行为是什么?会发生什么?它们有何不同?我想我的问题很清楚<代码>先进先出(据我所知)允许在两端(写入器和读取器)都使用时使用。所以我的问题是,如果程序正在工作,那么
execfile()
是否打开文件?如果是这样的话,那么在执行之后如何关闭文件呢。问题是,一个给定问题的清晰度取决于其他人,而不是你,是否认为它是清楚的。显然,
execfile
必须打开该文件,否则它可能无法工作。这就是你要问的吗?或者别的什么?它会在执行过程结束后关闭文件吗?有什么原因你们认为它不会关闭吗?您可以轻松地
strace
it进行检查。