擅长:python、mysql、java
<p>如果这样调用子流程:</p>
<pre><code>subprocess.call(["mv", "/home/somedir/subdir/*", "somedir/"])
</code></pre>
<p>实际上,您给了<code>/home/somedir/subdir/*</code>命令的参数<code>mv</code>,实际的<code>*</code>文件。i、 你实际上在试图移动<code>*</code>文件。</p>
<pre><code>subprocess.call("mv /home/somedir/subdir/* somedir/", shell=True)
</code></pre>
<p>它将使用将展开第一个参数的shell。</p>
<p><em>Nota Bene</em>:当使用<code>shell=True</code>参数时,需要将参数列表更改为将提供给shell的字符串。</p>
<p><em>提示</em>:您还可以使用<code>os.rename()</code>或<code>shutil.move()</code>函数,以及<code>os.path.walk()</code>或<code>os.listdir()</code>以更python的方式将文件移动到目标位置。</p>