我有一个非常简单的Python 3脚本:IO错误:[错误32]破碎的管道:Python的
f1 = open('a.txt', 'r')
print(f1.readlines())
f2 = open('b.txt', 'r')
print(f2.readlines())
f3 = open('c.txt', 'r')
print(f3.readlines())
f4 = open('d.txt', 'r')
print(f4.readlines())
f1.close()
f2.close()
f3.close()
f4.close()
但它总是说:
IOError: [Errno 32] Broken pipe
我在网上看到的所有复杂的方式要解决这个问题,但我直接复制了这段代码,所以我认为代码有问题,而不是Python的SIGPIPE。
我重定向输出,因此,如果上面的脚本被命名为“open.py”,那么我的命令来运行将是:
open.py | othercommand
什么行号? – squiguy
@squiguy第2行:'print(f1.readlines())' –
第2行有两个IO操作:从'a.txt'读取并写入'stdout'。也许尝试将它们分成不同的行,以便您可以看到哪个操作会触发异常。如果'stdout'是一个管道并且读取结束已经关闭,那么可能会导致'EPIPE'错误。 –