我正在尝试重命名目录中的所有图片。我需要在文件名中添加几个前置零。我是Python的新手,并且编写了以下脚本。

import os

path = "c:\\tmp"
dirList = os.listdir(path)

for fname in dirList:
    fileName = os.path.splitext(fname)[0]
    fileName = "00" + fname
    os.rename(fname, fileName)
    #print(fileName)

评论的打印行仅是为了验证我在正确的轨道上。运行此命令时,出现以下错误,我无所适从。



任何帮助是极大的赞赏。谢谢

最佳答案

您应该将绝对路径传递给os.rename。现在,您只能传递文件名本身。它不在正确的位置。使用 os.path.join

试试这个:

import os

path = "c:\\tmp"
dirList = os.listdir(path)

for fname in dirList:
    fileName = os.path.splitext(fname)[0]
    fileName = "00" + fname
    os.rename(os.path.join(path, fname), os.path.join(path, fileName))
    #print(fileName)

关于python - 无法解决WindowsError : [Error 2] The system cannot find the file specified,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8155945/

10-11 13:00
查看更多