0

Tortise svnを使用してファイルをチェックアウトするためにこのコマンドを使用していました

work = "F:\Test"
exe = "C:\\Program Files\\TortoiseSVN\\bin\\TortoiseProc.exe"
argu = ("/command:checkout /url:https://Test/help /path:" + str(work))
proc1 = subprocess.Popen([exe, argu])

このコマンドを実行すると、チェックアウト ウィンドウの [チェックアウト ディレクトリ] フィールドにパスが表示されます。

F:\Test"\help

しかし、("/command:checkout /url:https://Test/help /path:F:\Test") このコマンドを使用すると、チェックアウト ウィンドウのチェックアウト ディレクトリ フィールドに次のパスが表示されます。

F:\Test\help

パス変数に完全なパスを指定する必要があるか教えてください

4

1 に答える 1

1

まず、エスケープされた円記号を使用していることを確認してください。

 work = "F:\\Test"

または(python raw文字列)

 work = r"F:\Test"

次に、Popenのドキュメントに従ってください。引用します。

shell引数(デフォルトはFalse)は、実行するプログラムとしてシェルを使用するかどうかを指定します。シェルがFalseの場合はシーケンスとして、シェルがTrueの場合は文字列としてargsを渡すことをお勧めします。

これは次のようになります。

proc1 = subprocess.Popen([exe, '/command:checkout', '/url:https://Test/help', '/path:' + str(work)])

HTH、私はあなたの質問を正しく解釈したと思います

于 2012-10-10T07:05:36.603 に答える