如何在Perforce客户端p4v中使用自定义工具输出到日志窗口

4 投票
1 回答
1271 浏览
提问于 2025-04-15 21:25

我们正在用Python开发一些Perforce的自定义工具,在脚本执行的时候会输出一些信息。这些信息在p4win中可以看到,但我们主要使用的是p4v,输出的信息在日志窗口里看不到。

有没有办法让这些信息显示在那儿,或者在其他地方,而不需要通过终端窗口来运行这个工具呢?

1 个回答

1

当Python把输出发送到一个管道,而不是直接显示在终端时,它默认会把输出内容先存起来,也就是“缓冲”。你可以通过两种方式来解决这个问题:一种是在运行Python时加上“-u”这个参数(比如说 python -u myscript.py arg1 arg2),这样就告诉Python不要缓冲;另一种是在你的脚本中随时调用 sys.stdout.flush(),这样可以确保输出内容已经传送到P4V。

另外,你可以参考一下:

http://kb.perforce.com/article/914/sending-script-output-to-p4vs-custom-tool-terminal

(看起来这个问题在你在Stack Overflow提问后也被问过并得到了解答。如果你已经知道这些内容,那就抱歉了。)

撰写回答