擅长:python、mysql、java
<p>要运行批处理文件和集合输出,如果正在运行python2.7+,则可以使用<code>subprocess.check_output</code>(也可以直接调用<code>httpget</code>两次,而不使用包装器批处理脚本):</p>
<pre><code>import os
from subprocess import check_output
output = check_output(['/path/to/batch_file.bat'])
# parse the output, depending on what it is exactly, could be something like
temp, pressure = [int(l.strip()) for l in output.split(os.linesep) if l.strip()]
</code></pre>
<p>如果您想要更多的控制或者运行python<;=2.6,您可以通过执行以下操作获得等效的行为</p>
<pre><code>from subprocess import Popen
process = Popen(['/path/to/batch_file.bat'], stdout=PIPE)
output, _ = process.communicate()
retcode = process.poll()
if not retcode:
# success! output has what you need
temp, pressure = [int(l.strip()) for l in output.split(os.linesep) if l.strip()]
# ...
else:
# some non-zero exit code... handle exception
</code></pre>
<p>然而,正如邪恶的天才所指出的,直接从python发出http请求可能更好。<a href="http://docs.python-requests.org/en/latest/" rel="nofollow">requests</a>api非常适合:</p>
<pre><code>import requests
response = requests.get('http://172.24.48.67:1000', params=...)
print(response.text)
</code></pre>