Python 3 os.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)

在此先感谢您的帮助。


慕标5832272
浏览 97回答 1
1回答

qq_笑_17

您只遍历文件,subdirs包含文件夹列表。更多信息:https ://docs.python.org/3/library/os.html#os.walk
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python