用[Errno 2]重命名脚本没有这样的文件或目录

时间:2015-01-23 10:27:51

标签: python ffmpeg batch-rename

我在外部驱动器上有一个包含超过4万张图像的文件夹,用作游戏中时光倒流的序列。在使用ffmpeg之前,我需要在所有文件中添加尾随零。我尝试解决方案如下所示:

import os

path = '/Volumes/Arquivo\ \(carlosbgois@gmail.com\)/stadium_billiard/video/'
for filename in os.listdir(path):
    num = filename[:-4]
    num = num.zfill(4)
    new_filename = num + ".png"
    os.rename(os.path.join(path, filename), os.path.join(path, new_filename))

运行时,我在第5行收到错误 [Errno2]没有这样的文件或目录。文件命名为0.png,1.png,...,32220.png,等等。关于可能导致这种情况的任何想法?

度过愉快的一天(:

1 个答案:

答案 0 :(得分:0)

想出当路径以字符串形式给出时,不需要空格和特殊字符之前的反斜杠,因为它们位于终端中。因此工作代码是

import os

path = '/Volumes/Arquivo (carlosbgois@gmail.com)/stadium_billiard/video/'

for filename in os.listdir(path):
    num = filename[:-4]
    num = num.zfill(5)
    new_filename = num + ".png"
    os.rename(os.path.join(path, filename), os.path.join(path, new_filename))

谢谢!