我有幾個命令行界面命令可以使用Windows命令提示符執行。我用來檢索的命令很少文件從CVS庫使用命令提示符。現在我想通過一個python腳本來執行這些命令。我發現我必須使用子進程來通過python腳本與命令提示符進行交互。我試圖運行下面這段代碼通過HEAD從CVS存儲庫中檢索文件。當我試圖直接從命令提示符執行這些命令時,它們會正確執行。我可以看到它創建了一個本地工作區並正確檢索文件。但是當我執行python腳本,它不會執行任何操作。我需要您的幫助。我也希望通過標記來檢索文件。根據用戶指定的輸入從python腳本執行windows命令行從CVS存儲庫檢索文件
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
其實如果我嘗試運行上面的code.It不從CVS存儲庫中檢索文件,而如果它嘗試在命令提示符下運行這些命令,文件被正確提取,我可以在我的本地工作區中看到這些文件。我如何使用python腳本檢索文件? – user1681102
你做了什麼來調試這個問題? CVS提供了什麼輸出? – Mort
我現在改變了我的方法。而不是直接使用python腳本來執行命令行界面。我創建了一個批處理文件,它具有從CVS存儲庫中檢索文件的所有命令,並且我正試圖從我的python腳本中調用這個bat文件。爲我工作! – user1681102