擅长:python、mysql、java
<p>你试着传递论点stderr=子流程.管道如下所示:</p>
<pre><code>self.rsyncRun = subprocess.Popen(["rsync"," bwlimit="+upload," stats"," progress","-azvv","-e","ssh",local,remotedir," log-file="+rsynclog], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
</code></pre>
<p>编辑:你将不得不阅读self.rsyncRun.stderr,而不是self.rsyncRun.标准输出. 在</p>
<p>编辑2:更完整的代码示例如下:</p>
^{pr2}$
<p>然后您可以检查outData和errData,看看进度是否打印在那里。当然,communicate()在进程终止之前不会返回,因此如果您希望打印出一些实时进度,那么这是行不通的。在</p>