sys.excepthook丢失,丢失sys.stderrABC

问题描述 投票:0回答:1

我有以下代码片段。

def do_scheme():
    print """
            <scheme>
            <title>ABC</title>
            <description>ABC is Company</description>
    """
if __name__ == "__main__":
   do_scheme()

当我使用任何其他命令执行此 CLI 时,例如:“python test.py | echo $PATH”或“python test.py | cd..”,它显示以下错误消息:

close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr

我尝试处理 sys.excepthook 但没有成功。我们可以在这里使用任何装饰器来避免此类错误消息吗?

python exception stderr ioerror
1个回答
0
投票

您的打印语句出错,因为您将输出通过管道传输到不接受任何输入的

cd
。 尝试使用
sys.stdout.write
来代替并捕获任何 IO 错误。 但实际上,问题是你不应该通过管道传输到
cd
...

© www.soinside.com 2019 - 2024. All rights reserved.