import sys
input_1 = sys.argv[1]
in_1 = open(input_1, 'r')
input_lines = in_1.readlines()
in_1.close()
length = len(input_lines)
for line in range(3,length):
print(line,input_lines[line], end="")
exit()
我收到BrokenPipeError:[Errno 32]。
答案 0 :(得分:1)
您发布的代码没有问题。还有其他事情发生在这里。您是否正在使用正在关闭管道的其他程序?
e.g。 script.py input.txt | head
或script.py input.txt | tail
如果是这样,那么首先将输出存储在文件或变量中。例如:
script.py input.txt > output.txt
head output.txt
或者...
output=$(script.py input.txt)
head <<<"$output"
如果您只想抑制错误,可以使用以下内容替换脚本的结尾:
try:
for line in range(3, length):
print(line, input_lines[line], end="")
except BrokenPipeError:
pass