grep()
P4Pythonでコマンドを使用する方法を知っている人はいますか?
Perforce で実行されるスクリプトを開発しており、複数のファイル内の特定のテキストを簡単に検索できます。
Perforce > Tools > Manage Custom Tools で P4 コマンドなどを使用してツールを作成しようとしましたp4 grep -n -B 1 -e text_searched %D
が、複数のファイルで同じ検索を行いたいため、機能しません。
P4 grep ドキュメントとP4Python API for Scriptingを検索しましたが、これを行う方法が見つかりませんでした。
run_commandName
次のようなコマンドを使用できることに気付きました。
from P4 import sys, P4, P4Exception
p4 = P4()
p4.run_integrated(fileName)
そして、それは本当にうまくいきます!しかし、私はP4().run_grep()
=/を使うことができません
だから、私がやろうとしているのは、P4Python スクリプトを作成することです。Perfoce で、次のようなカスタム Toll を作成しました。
引数: 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()
しかし、これから得られる答えは常に空白の画面です。誰でも私を助けることができますか?