Python 3 os.rename将重命名文件,但不重命名文件夹

时间:2019-09-19 18:15:12

标签: python rename

我正在尝试重命名目录中的所有文件和文件夹,以将“#”替换为“ _”。我编写了一个快速的Python 3.7函数来执行此操作,该函数成功重命名了所有文件,但未重命名任何文件夹。运行此代码时,我没有收到任何错误。

import os

def replace(folder_path, old, new):
    for path, subdirs, files in os.walk(folder_path):
        for name in files:
            if(old in name):
                file_path = os.path.join(path,name)
                print(file_path)
                new_path = os.path.join(path,name.replace(old,new))
                print(new_path)
                os.rename(file_path, new_path)


old = '#'
new = '_'
path = 'Y:\my_path_goes_here'

replace (path, old, new)

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您仅对文件进行 迭代,subdirs包含文件夹列表。 更多信息:https://docs.python.org/3/library/os.html#os.walk