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

我试图在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文件和OS.ReNAMEY。
 target = os.path.join(directory, file)
 os.rename(path, target)

顺便说一句,我正在尝试重命名目录中的目录(满是图像),可能这里有东西


最佳答案:

当将某物重命名为/j/k/l/m/foo时,重要的是directory m exists。如果没有,你必须mkdir m。
在您的重命名呼叫之前,请执行以下操作:

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

译文:来源   文章分类: python python-3.x python-os

相关文章:

python - 如何在Pipfile中指定特定于OS的Wheel文件

python - 许多数据帧上的高效Python Pandas Stock Beta计算

python - Python“不在”索引超出范围错误

python - 实现while循环超时的最佳方法

python - 在Python中删除用点号分隔的字符串的最后一部分

python - 套接字:使用一台机器/ NIC在python中模拟多个客户端

python - 引用自身中的字典

python - 把字典变成两个列表,一个用于键,另一个用于值?

python - Matplotlib散点图;颜色作为第三个变量的函数

python - Python设置具有弹出随机元素的能力