os.rename [Errno 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(而不是在图像目录中)时,它可以正常工作
答
当重命名为/ j/k/l/m/foo,重要的是directory m exists。如果没有,你必须mkdir米。手动
os.makedirs(os.path.dirname(target), exist_ok=True)
检查您的文件确实存在 –
是的,我已经做了所有这些事情 –
添加一个'if',以测试它们是否相等 –