2014-11-08 45 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,它工作正常:)