我正在写一个管道并在一个单独的课程中再次阅读。
我打开管道,并通过1到1000之间的迭代发送。接收管道得到这个并返回值。我遇到了两个问题:
传输
接收管道功能似乎只从30 +
我的代码如下:
for num in range(1000):
classMan.give('data.fifo', num + 1)
def give(self, path, value):
pipe = open(path, "wb")
pickle.dump(values, pipe)
pipe.close()
我的接收功能如下:
def pipeListener(self, path):
try:
pipe = open(path, "rb")
data = pickle.load(pipe)
pipe.close()
return data
except EOFError:
print("EOFError")
return None
运行代码时,我得到如下输出:
python3 pipe_learning.py
EOFError
21
24
EOFError
27
28
29
30
31
32
我哪里出错了?我对Pipes相对较新,但这似乎不正常,尤其是EOFErrors的随机特性。