2011-11-16 19 views
9

Dizindeki tüm resimleri yeniden adlandırmaya çalışıyorum. Dosya adına bir iki öntanımlı sıfır eklemem gerekiyor. Python’da yeniyim ve şu senaryoyu yazdım.WindowsError çözümlenemiyor: [Hata 2] Sistem belirtilen bir dosyayı bulamıyor.

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) 

Yorumlanan yazdırma satırı yalnızca doğru yolda olduğumu doğrulamak içindi. Bunu çalıştırdığımda, aşağıdaki hatayı alıyorum ve nasıl çözüleceğimi kaybediyorum.

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

Herhangi bir yardım büyük beğeni topluyor. Thnx.

cevap

15

Mutlak yolu os.rename'a iletmelisiniz. Şu anda sadece dosya ismini geçiyorsun. Doğru yere bakmıyor. os.path.join'u kullanın.

bu deneyin:

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) 
İlgili konular