import re
f = open(r'/home/huyn/application.xml','r')
alllines = f.readlines()
f.close()

f = open(r'/home/huyn/application.xml','wb')
for line in alllines:
    if re.search('spring.datasource.url=', line):
        f.write('spring.datasource.url=github.com\r\n')
    elif re.search('spring.datasource.username=', line):
        f.write('spring.datasource.username=sql\r\n')
    else:
        f.write(line)
f.close()

代码:

首先以 r 方式读取文件内容并保存到 alllines 里,这么写比直接以写模式替换文件内容更好,防止写文件的时候会出现意想不到的错误。

wb:以二进制格式打开一个文件只用于写入,可以防止unix文件格式转换成windows格式

re.search('spring.datasource.url=', line):查找文件的每一行是否有指定的字符串

f.write('spring.datasource.url=github.com\r\n'):写入当前行替换后的字符串

f.write(line):不需要替换的行,还写入原先的内容