擅长:python、mysql、java
<p>这里实际上有两个问题-第一,为什么你的<code>Popen</code>构造不起作用,第二,如何正确使用<code>os.walk</code>。内德回答了第二个问题,所以我将讨论第一个问题:你需要注意外壳逃逸。<code>\;</code>是转义的<code>;</code>,因为通常情况下,<code>;</code>会被Bash解释为分隔两个shell命令,并且不会传递给{<cd6>}。(在其他一些shell中,<code>{}</code>也必须转义。)</p>
<p>但是对于<code>Popen</code>,如果可以避免的话,通常不希望使用shell。所以,这应该有效:</p>
<pre><code>import subprocess
subprocess.Popen(('find', '/tmp/mount', '-type', 'f',
'-name', '*.rpmsave', '-exec', 'rm', '-f', '{}', ';'))
</code></pre>