Python 3 os.rename将重命名文件,但不会重命名文件夹
我正在尝试重命名目录中的所有文件和文件夹,以将“#”替换为“#”。为此,我编写了一个快速Python 3.7函数,它成功地重命名了所有文件,但未能重命名任何文件夹。运行此代码时,我没有收到任何错误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
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()
。谢谢。我知道我错过了一些简单的事情。