2011-11-16 110 views
9

我試圖重命名目錄中的所有圖片。我需要爲文件名添加幾個預先掛起的零。我是Python的新手,我寫了下面的腳本。無法解決WindowsError:[錯誤2]系統找不到指定的文件

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) 

評論打印行只是爲了驗證我是在正確的軌道上。當我運行這個時,我得到以下錯誤,我不知道如何解決它。

Traceback (most recent call last): File "C:\Python32\Code\add_zeros_to_std_imgs.py", line 15, in os.rename(fname, fileName) WindowsError: [Error 2] The system cannot find the file specified

任何幫助,非常感謝。日Thnx。

回答

15

您應該將絕對路徑傳遞給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) 
相關問題