【问题标题】:Capture the output of a process in Julia在 Julia 中捕获进程的输出
【发布时间】:2019-02-23 23:02:31
【问题描述】:

我想运行一个进程并捕获它的输出。根据the documentation,方法open(command, stdio=devnull; write::Bool = false, read::Bool = !write) 应该返回一个元组(stream,process)。但是在运行时

typeof(open(`ls`))

输出为Base.Process。所以只返回进程,不返回流。

我是否误解了文档?如何启动进程并以某种方式捕获其输出。

【问题讨论】:

    标签: pipe julia ipc stdout


    【解决方案1】:

    那是error in the documentation(函数在 0.6 和 1.0 之间更改,但文档没有更新)。

    您可以在进程上,甚至在命令本身上调用任何“读取”函数,例如readeachlinereadlines,例如

    readlines(open(`ls`))
    readlines(`ls`)
    

    【讨论】:

    • 我认为对于像我这样的 Julia 新手来说,在文档出现错误时明确指出是非常有帮助的。谢谢西蒙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    相关资源
    最近更新 更多