gpt4 book ai didi

Scala 进程 - 捕获标准输出和退出代码

转载 作者:行者123 更新时间:2023-12-03 08:20:33 26 4
gpt4 key购买 nike

我正在使用 Scala scala.sys.process图书馆。

我知道我可以用 ! 捕获退出代码和输出 !!但是如果我想同时捕获两者呢?

我看过这个答案 https://stackoverflow.com/a/6013932/416338这看起来很有希望,但我想知道是否有一个类轮,我错过了什么。

最佳答案

您可以使用 ProcessIO .我在 Specs2 测试中需要类似的东西,我必须根据 stdin 上的输入检查退出值以及进程的输出。 ( inout 属于 String 类型):

"the operation" should {
f"return '$out' on input '$in'" in {
var res = ""
val io = new ProcessIO(
stdin => { stdin.write(in.getBytes)
stdin.close() },
stdout => { res = convertStreamToString(stdout)
stdout.close() },
stderr => { stderr.close() })
val proc = f"$operation $file".run(io)
proc.exitValue() must be_==(0)
res must be_==(out)
}
}

我想这可能对你有帮助。在示例中,我忽略了来自 stderr 的内容。 .

关于Scala 进程 - 捕获标准输出和退出代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15411728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com