使用Python的rename()函数重命名文件时出现问题,提示 WindowsError: [Error 2] 错误,最初代码如下:
1
2
3
4
5
6
7
8
|
def renameFile(filename): filePre = "D:\\FileDemo\\Python\\pt.py" os.rename(filePre, filename) print os.listdir(filePre) if __name__ = = '__main__' : fileNew = "D:\\FileDemo\\Python\\Test.py" renameFile(fileNew) |
后来经过反复尝试,问题解决~
rename之前要先用chdir()函数进入到目标文件所在的路径,告诉python编译器要重命名的文件在哪儿,然后才可以修改;
Python不是可怕的终结者,她其实很幼小,自己找不到文件,需要我们详细又耐心的告诉她该去哪儿找~ 路径通过 os.path.dirname()函数获得:
1
2
3
4
5
6
7
8
9
10
11
|
import os from nt import chdir def renameF(preName, newName): chdir(os.path.dirname(preName)) os.rename(preName, newName) if __name__ = = '__main__' : filePre = "D:\FileDemo\Python\PT.py" fileNew = "D:\FileDemo\Python\Test.txt" renameF(filePre, fileNew) |
代码非常简洁,通过修改filePre,fileNew可以重命名任意文件。