gpt4 book ai didi

python - 从 Octave 的符号包中避免不需要的文本

转载 作者:太空狗 更新时间:2023-10-30 00:10:08 27 4
gpt4 key购买 nike

当您第一次调用 vpa(来自 Octave 的 symbolic package )时,Octave 在输出实际结果之前会在屏幕上生成一些文本。例如:

>> x = pretty(vpa('sqrt(-1)'))
OctSymPy v2.2.4: this is free software without warranty, see source.
Initializing communication with SymPy using a popen2() pipe.
Detected Windows: using "winwrapy.bat" to workaround Octave bug #43036
Some output from the Python subprocess (pid 6680) might appear next.

OctSymPy: Communication established. SymPy v0.7.6.1.
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)]
x = 1.0*I

请注意,实际输出(变量 x)是字符串 '1.0*I',正如预期的那样。其余部分不是函数输出的一部分,而是直接在屏幕上生成的文本。

该文本不会出现在对 vpa 的后续调用中,仅在启动 Octave 后第一次出现。它似乎与 vpa 没有具体关系,但与 Octave 与 Python 通信以处理符号计算的方式有关。

有没有办法避免显示该文本?或者失败了,有没有办法暂时捕获标准输出来拦截该文本?例如,Matlab 的 evalc (使用捕获评估表达式)将是一个解决方案,但 Octave 没有该功能。

最佳答案

选项 sympref quiet onrecently been committed这至少抑制了一些消息。检查 doc sympref 以查看更改是否已存在于您的版本中。

关于python - 从 Octave 的符号包中避免不需要的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34854407/

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