在Python中更改目录名称

时间:2011-07-09 05:51:35

标签: python directory date

我正在尝试更改其中的目录和文件的标签。目前该系统是“082411-SomeNameHere”(mmddyy-Title),我想将其更改为“110824-SomeNameHere”。

我知道数字的移动相当简单,但我大多不确定如何访问目录中的名称并更改它们。

建议?

2 个答案:

答案 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。