2017-06-19 163 views
2

我试图在MacOS中重命名目录,甚至使用别人的代码,但os.rename仍然抛出错误,我给我的目录和他们的新名称的完整路径为path 。有人可以帮助解决这个问题吗?在此先感谢os.rename [Errno 2]没有这样的文件或目录

import os 

directory = "/../" 
dirs = next(os.walk(directory))[1] 
for file in dirs: 
    path = os.path.join(directory, file) 
    target = os.path.join(directory, '/' + file.replace('.','/')) 
    os.rename(path, target) 

与前围

[Errno 2] No such file or directory: '/Users/Kakadu/Desktop/dogs_vs_cel/MsCelebV1/MsCelebV1-Faces/m.01kk_s6' -> '/m/01kk_s6' 

没有破折号

FileNotFoundError: [Errno 2] No such file or directory: '/Users/Kakadu/Desktop/dogs_vs_cel/MsCelebV1/MsCelebV1-Faces/m.01kk_s6' -> '/Users/Kakadu/Desktop/dogs_vs_cel/MsCelebV1/MsCelebV1-Faces/m/01kk_s6' 

PS文件存在,当我做的文件重命名为相同的名称

target = os.path.join(directory, file) 
os.rename(path, target) 
os.rename工作

顺便说一下, m尝试重新命名目录内的目录(完整的图像),也许有些东西在here.Btw,当我尝试在图像上使用os.rename(而不是在图像目录中)时,它可以正常工作

+1

检查您的文件确实存在 –

+0

是的,我已经做了所有这些事情 –

+0

添加一个'if',以测试它们是否相等 –

回答

0

当重命名为/ j/k/l/m/foo,重要的是directory m exists。如果没有,你必须mkdir米。手动

os.makedirs(os.path.dirname(target), exist_ok=True) 
相关问题