【问题标题】:How to store the console output to a variable in R如何将控制台输出存储到R中的变量
【发布时间】:2015-07-21 16:49:10
【问题描述】:

在 R 中,我想将控制台命令存储到变量中。我已经尝试过以下链接中提出的解决方案,但没有运气:In R, is it possible to redirect console output to a variable? 这是我正在使用的命令:

test <- capture.output(system("pa11y scuolafalconeborsellino.it; 
        perl -e \"print unpack('c', pack('C', $?)), \\$/\""), file = NULL)

控制台中可见的输出是:

[4m[36m 欢迎来到Pa11y[39m[24m [90m我们现在将为您嗅探您的页面。 [39m [36m > [39m加载页面... [36m > [39m正在运行 HTML CodeSniffer... [36m > [39m[31mError: HTML CodeSniffer错误[39m

-1

但变量 test 为空。

谢谢!

【问题讨论】:

    标签: r terminal output


    【解决方案1】:

    system 有一个参数intern 可用于将输出保存到字符向量:

    test <- system("pa11y scuolafalconeborsellino.it; perl -e \"print unpack('c', pack('C', $?)), \\$/\"", 
                   intern = TRUE)
    

    请注意,system2 现在是首选,在新代码中应避免使用 system

    【讨论】:

    • 你能提供一个关于你最后一句话的链接吗?我很好奇。
    • @Pascal 见help("system")
    • 似乎不适用于 Linux 上的 unix2dossystem("unix2dos ...", intern = TRUE) 返回character(0) 并且输出仍然打印到控制台。
    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2012-09-18
    相关资源
    最近更新 更多