os.rename [Errno 2]没有这样的文件或目录

时间:2017-06-19 13:07:11

标签: python python-3.x python-os

我尝试重命名MacOS中的目录,甚至使用过其他人的代码,但os.rename仍然会引发错误,我将目录及其新名称的完整路径设为path。愿有人帮忙解决这个问题吗?提前谢谢

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'

当我将文件重命名为同名

时,P.S文件存在且os.rename有效
 target = os.path.join(directory, file)
 os.rename(path, target)

顺便说一句,我试图重命名目录中的目录(充满图像),也许就在这里。当我尝试在图像上使用os.rename时(不是在目录上)充满了图像)它工作正常

1 个答案:

答案 0 :(得分:0)

将某些内容重命名为/ j / k / l / m / foo时,directory m exists非常重要。如果没有,你必须mkdir m。

在重命名之前,请执行以下操作:

    os.makedirs(os.path.dirname(target), exist_ok=True)