Python异常后只有stdout被刷新
- 论坛
- Python异常后只有stdout被刷新
8 浏览
Python异常后只有stdout被刷新
我有一个像这样的Python文件:
print("文件开始", flush=True) import ... print("有时会有一些打印语句") app = FastAPI() if __name__ == "__main__": print("开始") uvicorn.run(app, host="0.0.0.0", port=8080)
所有这些都是正常工作的,但是我在控制台看不到任何消息。我在docker中使用以下命令运行:
/opt/conda/bin/python /opt/conda/bin/conda run -n my-env python -m folder.myfile
但是当我添加了像`int(input("这里不是整数"))`这样的错误时,我会得到异常和所有打印消息,包括必须在Python文件启动后刷新的第一个打印语句`print("文件开始", flush=True)`。
所以,如果在`print("文件开始", flush=True)`之后添加`int(input("这里不是整数"))`,我会得到`"文件开始"`和异常堆栈;当我将`int(input("这里不是整数"))`添加到文件末尾时,其他所有的`print`语句都正常工作。
为什么会发生这种情况,我该如何解决?