Windowsコマンドプロンプトを使用して実行可能なコマンドラインインターフェイスコマンドはほとんどありません。コマンドプロンプトを使用してCVSリポジトリからファイルを読み込みます。次に、これらのコマンドをPythonスクリプトで実行します。私は、サブプロセスinorderを使用して、コマンドプロンプトとPythonスクリプトの対話をする必要があることを知りました。これらのコマンドをコマンドプロンプトから直接実行しようとすると、正しく実行されます。ローカルのワークスペースを作成し、ファイルを適切に取得することがわかります。しかし、私が実行すると私はあなたの助けが必要です。私はまた、タグを使ってファイルを取得したいと思います。Windowsを実行してCVSリポジトリからファイルを取り出すコマンドラインをPythonスクリプトからユーザ指定の入力に基づいて実行
import os
import sys
import subprocess
Current_Working_Directory=os.getcwd()
print "Current_Working_Directory",Current_Working_Directory
cmd = ['cvs',
'-d:::pserver:<username>@<computername>:<repository>
'login']
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
output=p.communicate()
print "p",p
cmd1=['set','CVSROOT','=','pserver:<username>@<computername>:<repository>']
p1 = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
print p1
cmd2=['cvs','co','-r','HEAD','Test']
p2 = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
print p2
実際に上記のコードを実行しようとすると、CVSリポジトリからファイルが取得されませんが、コマンドプロンプトでこれらのコマンドを実行しようとすると、ファイルが適切に抽出され、ローカルワークスペースにファイルが表示されます。 Pythonスクリプトを使用してファイルを取得するにはどうすればよいですか? – user1681102
問題をデバッグするために何をしましたか? CVSはどのような出力をしていますか? – Mort
私は今、私のアプローチを変更しました。コマンドラインインターフェイスを直接実行する代わりにpython script.Iを使って、CVSリポジトリからファイルを取得するすべてのコマンドを持つバッチファイルを作成しました。このpythonスクリプトからこのbatファイルを呼び出しようとしています。私のために働いた! – user1681102