擅长:python、mysql、java
<p>使用管道并将数据直接写入该管道:</p>
<pre><code>test = subprocess.Popen(
'svn cat http://localhost/svn/WernerTest/JenkinsJobTemplates/trunk/smartTemplate.xml username admin password admin',
stdout=subprocess.PIPE, universal_newlines=True)
job = test.stdout.read().replace("@url@", "http://localhost/svn/WernerTest/TMS/branches/test1")
jenkins = subprocess.Popen(
'java -jar D:\\applications\\Jenkins\\war\\WEB-INF\\jenkins-cli.jar\\jenkins-cli.jar -s http://localhost:8080/ create-job test7',
stdin=subprocess.PIPE, universal_newlines=True)
jenkins.communicate(job)
</code></pre>
<p><a href="https://docs.python.org/3/library/subprocess.html#subprocess.Popen.communicate" rel="nofollow">^{<cd1>} method</a>接受第一个参数并将其作为stdin发送到子进程。在</p>
<p>注意,我也为Jenkins设置了<a href="https://docs.python.org/3/library/subprocess.html#frequently-used-arguments" rel="nofollow">^{<cd2>} argument</a>为<code>True</code>;另一种方法是将<code>job</code>字符串显式编码为Jenkins可以接受的合适的编解码器。在</p>