有谁知道如何grep()
在 P4Python 中使用命令?
我正在开发一个与 Perforce 一起运行的脚本,它使我可以轻松地在多个文件中搜索特定文本。
我已经尝试使用 P4 命令在 Perforce > 工具 > 管理自定义工具中创建一个工具,p4 grep -n -B 1 -e text_searched %D
但由于我想在多个文件中进行相同的搜索,所以它不起作用。
我在P4 grep 文档和P4Python APIs for Scripting中进行了搜索,但找不到如何执行此操作。
我注意到您可以使用一些命令run_commandName
,例如:
from P4 import sys, P4, P4Exception
p4 = P4()
p4.run_integrated(fileName)
而且效果非常好!但我不能使用P4().run_grep()
=/
所以,我想做的是制作一个 P4Python 脚本。在 Perfoce 上,我做了一个这样的自定义收费:
参数:C:\Users\hmunguba\Projects\P4\scripts\searchp4pythonscript.py $u $p $c %D
我的代码是这样的:
from P4 import sys, P4, P4Exception
p4 = P4()
p4.user = sys.argv[1]
p4.port = sys.argv[2]
p4.client = sys.argv[3]
p4.connect()
FILE = str(sys.argv[4])
SEARCH_TEXT = sys.argv[5]
try:
p4.run("grep", "-e ", SEARCH_TEXT, FILE)
except P4Exception:
for e in p4.errors:
print e
finally:
p4.disconnect()
但我从中得到的答案总是一个空白屏幕。有人可以帮我吗?