0

Beyond Compare 3 を使用して、2 つの XML ファイルの違いを確認しています。実行時にBeyond Compareツールで比較する準備ができているファイルを開く小さなpythonスクリプトを作成したいと思っています。

これまでのところ、以下のようにコマンド ライン構文から BC3 を呼び出してみましたが、動作します。

BCompare.exe "c:\Ref-2.xml"  "c:\Cop-2.xml"

しかし、以下に示すようにPythonスクリプトから同じ構文を実行しようとすると、エラーがスローされます

from subprocess import check_output
check_output('BCompare.exe "c:\Ref-2.xml"  "c:\Cop-2.xml"', shell=True)

表示されるエラーは次のとおりです。

raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'BCompare.exe "c:\Ref-2.xml"  "c:\Cop-2.xml"' returned non-zero exit status 1

私は何かを逃していますか?このチュートリアルと他の多くのコマンドを使用して、コマンドライン命令を開くさまざまなソリューションを試しましたが、うまくいきませんでした。

4

3 に答える 3

1

このようなことをしてください。.exeの絶対パスを与える

check_output(absolute_path_of_beyond_compare "c:\Ref-2.xml"  "c:\Cop-2.xml"', shell=True)

次のコードを使用して Beyond Compare を開くことができます。

from subprocess import check_output

check_output("BCompare.exe Test1.txt Test2.txt", shell=True)

BCompare.exe パスがパス変数に追加され、Test1.txt Test2.txt は、プログラムを実行した場所と同じディレクトリに存在します。

于 2015-10-16T14:09:42.253 に答える