0

すべてのファイルの名前を に変更する必要がある'DSC0 + num'ため、ファイルの最終的な名前は (たとえば)'DSC02015'

試みたコード:

import os

path = "C:\\images"
num = 2000
i=0
files = os.listdir(path)
for x in files:
    old = files[i]
    new = 'DSC0%d' %(num)   
    os.rename (files[i],new)
    num +=1
    i +=1

次のエラーが表示されます。

Traceback <most recent call last):
 File "rename.py", line 10, in <module>
   os.rename (files[i],new)
WindowsError: [Error 2] The system cannot find the file specified
4

2 に答える 2

0

問題は、rename関数に相対パスを指定しても、おそらく別の場所からコードを実行することです。os.chdir前の回答のように、現在のフォルダーを変更できます。または、元のフォルダーにとどまりたい場合は、次の方法で完全なパスを指定できます。

次の行を変更する必要があります。

os.rename(files[i],new)

することが:

os.rename(os.path.join(path,files[i]),os.path.join(path,new))
于 2013-08-19T14:27:25.257 に答える