さまざまなサブフォルダーを含むフォルダーがあります。すべてのファイルを反復処理し、John と Jose の出現を確認して、Mikel と Mourinho にそれぞれ置き換える必要があります。
これは私が Python で書いたスクリプトです。正常に動作していますが、ファイルに遭遇する.gif
とエラーが発生し、それ以上繰り返されません。
理由を教えてください。
エラーは
Traceback (most recent call last):
File "C:\Users\sid\Desktop\script.py", line 33, in <module>
os.chmod(path ,stat.S_IWRITE)
FileNotFoundError: [WinError 2] The system cannot find the file specified:'C:\Users\sid\Desktop\test\\images/ds_dataobject.gif.bak'
私のコード:
import os,stat
import fileinput
import sys
rootdir ='C:\Users\spemmara\Desktop\test'
searchTerms={"John":"Mikel", "Jose":"Mourinho"}
def replaceAll(file,searchExp,replaceExp):
for line in fileinput.input(file, inplace=1):
if searchExp in line:
line = line.replace(searchExp,replaceExp)
sys.stdout.write(line)
for subdir, dirs, files in os.walk(rootdir):
for file in files:
path=subdir+'/'+file
print(path)
os.chmod(path ,stat.S_IWRITE)
for key,value in searchTerms.items():
replaceAll(path,key,value)
os.chmod(path,stat.S_IREAD)