Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3 os.rename将重命名文件,但不会重命名文件夹_Python_Rename - Fatal编程技术网

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

Python 3 os.rename将重命名文件,但不会重命名文件夹,python,rename,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 n

我正在尝试重命名目录中的所有文件和文件夹,以将“#”替换为“#”。为此,我编写了一个快速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)

提前谢谢你的帮助

仅对文件进行迭代,
子目录
包含文件夹列表。
更多信息:

此代码仅迭代从
os.walk()
返回的
文件
项,因此它从不在目录上调用
os.rename()
。谢谢。我知道我错过了一些简单的事情。