2011-11-16 33 views
9

ディレクトリ内のすべての画像の名前を変更しようとしています。私は、ファイル名に2つ前のゼロを追加する必要があります。私は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) 
関連する問題