我正在尝试更改其中的目录和文件的标签。目前该系统是“082411-SomeNameHere”(mmddyy-Title),我想将其更改为“110824-SomeNameHere”。
我知道数字的移动相当简单,但我大多不确定如何访问目录中的名称并更改它们。
建议?
答案 0 :(得分:1)
试试这个:
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)
基本上,这会使用os.walk
遍历目录结构,查找看似具有旧命名约定的文件,提取部分,并使用shutil.move
进行重命名。
答案 1 :(得分:0)
您希望os.walk
进行目录和文件遍历
您可以使用shutil.move
进行文件重命名。
import os
import shutil
for dirpath, dirs, files in os.walk(os.curdir):
for filename in files:
shutil.move( # alternative: `os.rename`
os.path.join(dirpath, filename),
os.path.join(dirpath, filename_with_changes),
)
“......数字的移动相当简单”所以我把它留给你:D
欢迎来到StackOverflow。