擅长:python、mysql、java
<p>给定列表中的每个字符串都作为单个命令行参数处理。使用此语法时也不需要使用引号。</p>
<p>试试这样的:</p>
<pre><code>hostname = 'host'
servername = 'server'
commandargs = [
'/usr/sbin/mminfo',
'-o', 'n', # these are separate arguments, but on the same line for clarity's sake
'-s', servername, # same here
'-q', "client='%s',savetime>=last day" % hostname, # same here...
'-r', 'client,name' # and here.
]
process = subprocess.Popen(commandargs, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
</code></pre>
<p>编辑:或者,根据评论,比如</p>
<pre><code>import subprocess
client_name = "lxds05"
server_name = "nsr_srv"
queryspec = "client='%s',savetime>=last day" % client_name
reportspec = "client,name,savetime(17),nsavetime,level,ssflags"
args = [
'/usr/sbin/mminfo',
'-o', 'n',
'-s', server_name,
'-q', queryspec,
'-r', reportspec,
'-x', 'c'
]
subprocess.Popen(args) # ... etc
</code></pre>