提问人:Sky Scraper 提问时间:1/25/2022 最后编辑:Sky Scraper 更新时间:1/25/2022 访问量:42
如何禁止显示不是警告消息的 RED 进度消息?解决方案不起作用
How to suppress RED progress messages that are not warning messages? SOLUTIONS NOT WORKING
问:
我有一个脚本,在该脚本中,我正在运行一个包中的命令:来自 ensembldb 包的 proteinToGenome()。
我使用结构迭代运行命令,每次迭代时,它将返回 RED 输出,该输出更多的是“进度”消息,无论命令成功/失败,都会输出这些消息,而不是警告消息:for () {}
Checking CDS and protein sequence lengths ... 1/1 OK
Fetching CDS for 1 proteins ... 1 found
艺术
Fetching CDS for 1 proteins ... 1 found
Checking CDS and protein sequence lengths ... 0/0 OK
如何禁止显示这些消息?我发现的其他问题似乎不适用于这些问题,他们的解决方案似乎并不能阻止这些问题。我已经尝试了以下语言中提供的所有解决方案:
我累了:
capture.output(for (x in length(DF)) {
OutputDF <- function(DF[x])
})
和:
sink(for (x in length(DF)) {
OutputDF <- function(DF[x])
})
还尝试过:
hush=function(code){
sink("NUL") # use /dev/null in UNIX
tmp = code
sink()
return(tmp)
}
hush(for (x in length(DF)) {
OutputDF <- function(DF[x])
})
此外,我使用 for 和 not 的原因是因为我检查 是否为空,并使用循环中的命令采取相应的操作lapply()
OutputDF
if(){}else{}
for(){}
答:
1赞
DaveArmstrong
1/25/2022
#1
怎么样:
suppressMessages(proteinToGenome(...))
在模型中使用的参数替换的位置...
评论
0赞
Sky Scraper
1/25/2022
不,那也行不通:/
1赞
DaveArmstrong
1/25/2022
@SkyScraper - 看起来这些都是打印的,所以使用包裹在调用应该可以工作。我更新了答案。message()
suppressMessages()
proteinToGenome()
0赞
Sky Scraper
1/26/2022
非常感谢!所以有 3 种不同的输出?消息、错误消息和输出消息?是吗?还是有更多技术术语?@DaveArmstrong
1赞
DaveArmstrong
1/26/2022
我通过你如何触发它们来思考它们。有一个函数,一个函数,然后是一个函数(抛出错误)。您可以使用 and 停止这些类型的输出。您还可以打印输出,或者可能会以您在原始帖子中尝试的方式禁止显示输出。message()
warning()
stop()
suppressMessages()
suppressWarnings()
print()
cat()
0赞
Sky Scraper
1/26/2022
因此,打印输出的行为方式与警告类似,但消息是唯一的?对不起,我从来没有用 message() 或 warning() 编写过脚本 >-<“ 我通常使用 print 来输出我希望脚本通知我的任何信息......
评论