使用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可以重命名任意文件。