python实现修改文件中含有特定语句的行
#-*-coding: UTF-8 -*-#得到文件夹中所有文件名称的列表
import os
def getFileList(p):
p = str(p)
if p =="":
return []
#p = p.replace('\\','\\\\')
#linux下目录中用‘/’,windows下目录中用‘\\’
if p[-1] != '/':
p = p + '/'
file_list = []
a = os.listdir(p)
for i in a:
file_list.append(p + i)
b =
#判断是不是文件,把文件名称放入列表b中
return b
## change the lines in the file
def change_lines( target_files, nav_template_path, ):
nav = open( nav_template_path, 'r' ).readlines()
#修改文件中含有以下内容的行段
start_line = 'title="国家重大科研项目"'
end_line = 'title="PI 合作项目"'
for target_file in target_files:
f = open(target_file,'r')
target_file_lines = f.readlines()
start_point = 0
end_point = 0
for line in target_file_lines:
if start_line in line:
start_point = target_file_lines.index( line )
if end_line in line:
end_point = target_file_lines.index( line )
break
pre_part = target_file_lines[ :start_point ]
end_part = target_file_lines[ (end_point+1): ]
changed_target_lines = pre_part + nav + end_part
f.close()
new_file = open( target_file, 'w' )
new_file.writelines( changed_target_lines )
new_file.close()
#待修改的文件夹路径
file_path = '/home/mdc2/Desktop/MDC_websit2.0/module'
#将要替换成的内容所在文件的路径
template_path = '/home/mdc2/Desktop/nav_template'
FileList = getFileList(file_path)
change_lines( FileList,template_path)
页:
[1]