我们正在 python 中开发 perforce 自定义工具,并在脚本执行期间输出消息。它显示在 p4win 中,但我们主要使用 p4v 并且输出未显示在日志窗口中。
有没有一种方法可以在那里或任何其他窗格中输出,而无需在终端窗口中运行该工具?
我们正在 python 中开发 perforce 自定义工具,并在脚本执行期间输出消息。它显示在 p4win 中,但我们主要使用 p4v 并且输出未显示在日志窗口中。
有没有一种方法可以在那里或任何其他窗格中输出,而无需在终端窗口中运行该工具?
当 Python 将其输出定向到管道而不是直接到终端时,默认情况下会缓冲其输出。我认为您可以通过在调用 Python(例如,python -u myscript.py arg1 arg2
)时传递“-u”参数来告诉它不要缓冲,或者sys.stdout.flush()
在您希望它确保输出完成时随时调用整个脚本来解决此问题到 P4V。
也可以看看:
http://kb.perforce.com/article/914/sending-script-output-to-p4vs-custom-tool-terminal
(看起来这个问题是在您在 Stack Overflow 上提问后提出并回答的。抱歉,如果您已经很清楚了。)