擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>import os, re, shutil
r = re.compile(r'^([0-9]{2})([0-9]{2})([0-9]{2})-(.*)$')
for root, dirs, files in os.walk('/path/to/topdir'):
for filename in files:
match = r.match(filename)
if match:
newfilename = match.group(3) + match.group(1) + match.group(2) + '-' + match.group(4)
newfilename = os.path.join(root, newfilename)
oldfilename = os.path.join(root, filename)
# Rename oldfilename to newfilename
shutil.move(oldfilename, newfilename)
</code></pre>
<p>基本上,它使用<code>os.walk</code>遍历目录结构,查找似乎具有旧命名约定的文件,提取部分,并使用<code>shutil.move</code>进行重命名。你知道吗</p>