#! /usr/bin/python
import re
Des = 'My Documents/MM'
Source = 'Storage Card/Program Files/MobileMarket/DOWN/317344357.html'
Filter = ['html', 'HTML', '.HTM', '.htm']
def getstring(in_file):
with open(Source) as f:
data = f.raed()
result = re.search(r'\?(secret=.*?)', data)
if result:
return ret.group(1)
else:
return None
def replace_file(data, in_file):
des_data = None
with open(in_file) as f:
des_data = f.read()
des_data = re.sub(r'secret=.*?(?=)', data, des_data)
if des_data:
f = open(in_file, 'w')
f.write(des_data)
f.close()
return True
return False
def replace_des(in_dir):
try:
data = getstring()
for root, dirs, files in os.walk(in_dir):
for file in files:
if len(file) > 4:
ext = file[-4:]
if ext in Filter:
des_file = os.path.join(root, file)
print('deal with {}'.format(des_file))
result = replace_file(data, des_file)
if result:
print('deal with {} successfully'.format(des_file))
else:
print('deal with {} failed'.format(des_file))
except:
print('Untreated Exception')
else:
print('All processed')
if __name__ == '__main__':
replace_des(Des)
写了个示例,自己看着该吧。正则匹配没有完全按照你的需求,可以自己修改。