两条管道各接到了什么

👁️ 1 人浏览 💬 0 人评论 ❤️ 添加收藏

下面这段程序用两个缓冲区模拟 stdout 和 stderr:结果进 out,提示进 err。运行它,看两条管道各接到几行、退出码是多少:

import io

out, err = io.StringIO(), io.StringIO()

def main(argv):
    if len(argv) < 1:
        print("缺少数值", file=err)
        return 2
    print(float(argv[0]) * 9 / 5 + 32, file=out)
    return 0

codes = [main([]), main(["37"]), main([])]
print(out.getvalue().strip() + "/" + str(len(err.getvalue().splitlines())) + "/" + "".join(str(c) for c in codes))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论