gpt4 book ai didi

python - 抑制库外模块调用的输出

转载 作者:太空狗 更新时间:2023-10-29 22:17:05 26 4
gpt4 key购买 nike

我在使用机器学习库时遇到了一个恼人的问题 PyML . PyML 使用 libsvm训练 SVM 分类器。问题是 libsvm 将一些文本输出到标准输出。但是因为那是在 Python 之外,所以我无法拦截它。我尝试使用问题 Silence the stdout of a function in Python without trashing sys.stdout and restoring each function call 中描述的方法但这些都没有帮助。

有没有办法做到这一点。修改 PyML 不是一种选择。

最佳答案

打开/dev/null写入,使用os.dup()复制stdout,使用os.dup2()将打开的 /dev/null 复制到标准输出。使用 os.dup2() 将复制的标准输出复制回真实的标准输出。

devnull = open('/dev/null', 'w')
oldstdout_fno = os.dup(sys.stdout.fileno())
os.dup2(devnull.fileno(), 1)
makesomenoise()
os.dup2(oldstdout_fno, 1)

关于python - 抑制库外模块调用的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4178614/

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