2014-11-08 74 views
1

我正在使用子進程通過使用findbuild.exe獲取構建路徑。一些使用構建字符串在服務器上查找構建的exe。 我從findbuild.exe輸出存儲在「出」的與另一個字符串連接後被覆蓋的字符串

process = subprocess.Popen(findBuild_cmd, stdout=subprocess.PIPE, stderr = subprocess.PIPE) 
out,err = process.communicate() 

我分析它的變量..shown得到構建位置,並使用丟棄它的其餘部分

sblTemp = str((out.partition("Location:  ")[2]).partition("\n")[0]) 
sblTemp is a network path like \\water\build\12345\123.4\ 

我想偏移添加到像\啓動\建立\ BIN \ abc.mbn

所以,最終的路我要的是

\\water\build\12345\123.4\boot\builds\bin\abc.mbn 

我使用了os.path.join,但發現該字符串正在被稍後的偏移量覆蓋。 當我試圖Concat的上述兩個,我看到,如果我這樣做 temp = r"XYZ"+ sbl,它工作正常,但是當我嘗試做這樣temp = sblTemp + r"XYZ"它覆蓋了第一串

你能不能幫我找出這裏出了什麼問題?

+0

你的問題有點混亂。你能否給我一小段代碼樣本,告訴我們它給出了什麼不正確的結果? – Gabe 2014-11-08 03:25:43

+0

SBL具有構建路徑 - 溫度= 「」 溫度= SBL + R 「HELLO」 打印溫度 打印 「」 溫度= 「」 溫度= R 「HELLO」 + SBL 打印臨時 輸出: HELLOfle \ builds41 \ INTEGRATION \ M4004.2 HELLO \\ waffle \ builds41 \ INTEGRATION \ M4004.2 – aditya3524 2014-11-10 16:53:53

回答

0

我想通了哪裏出了問題。 findBuild.exe在字符串的末尾添加了一個回車,並且搞亂了一切。當我添加.strip,它工作正常:)