擅长:python、mysql、java
<p><code>subprocess.something</code>方法的参数必须是命令行参数的列表。使用例如<code>shlex.split()</code>将字符串拆分为正确的命令行参数:</p>
<pre><code>import shlex, subprocess
subprocess.check_call( shlex.split("mv !(...)") )
</code></pre>
<p>编辑:
因此,目标是移动文件/目录,但不包括某些文件/目录。通过使用bash,我可以让它像这样工作:</p>
^{pr2}$
<p>所以你的情况是:</p>
<pre><code>mv `ls | grep -v -e '\(myproject\|cmake-3.0.2-Darwin64-universal\)'` my_project
</code></pre>
<p>这可以进入<code>subprocess.check_call(..., shell=True)</code>,它应该做你期望它做的事情。在</p>