擅长:python、mysql、java
<p>您需要验证所更改的名称是否确实更改了。如果名称中没有数字或空格,<code>translate</code>将返回相同的字符串,您将尝试将<code>name</code>重命名为<code>name</code>,而Windows拒绝该字符串。尝试:</p>
<pre><code>for name in list:
newname = name.translate(None, "124567890 ")
if name != newname:
os.rename(name, newname)
</code></pre>
<p>注意,如果文件目标存在,这仍然会失败,如果您意外地将两个名称合并为一个,您可能会希望这样做。但是如果您想要静默替换行为,如果您使用的是python3.3或更高版本,可以将<code>os.rename</code>更改为<code>os.replace</code>以静默重写;在早期的Python中,可以在调用<code>os.rename</code>之前显式地<code>os.remove</code>。在</p>