重命名python中的文件给出'错误2'

时间:2014-04-23 21:04:48

标签: python

我正在尝试批量重命名目录中的一些pdf

if len(self.toLoc.get()) == 0:
    searchRev = "_R" + newRev 
    for filename in os.listdir(App.pdfDir):
        sep = searchesri
        rest = filename.split(sep, 1)[0] + searchRev
        os.rename(filename, rest)
else:
    searchRev = "_R" + newRev + fromLocation + toLocation
    print searchRev

当我运行它时,它会给我错误

  File "F:\TOOLS\PythonTools\VCR.py", line 411, in renameMaps
    os.rename(filename, rest)
WindowsError: [Error 2] The system cannot find the file specified

我可以在for循环中打印文件名并获得结果....

1 个答案:

答案 0 :(得分:2)

os.rename需要文件的完整路径,但os.listdir只返回其名称。

您可以使用os.path.join制作os.rename所需的完整路径:

os.rename(os.path.join(App.pdfDir, filename), rest)