python使用读取文件、替换文件中指定的内容:公司内部提交代码给测试部测试时需要在变更文档中列出文件路径。
Java文件的对应的路径为:
\WEB-INF\classes\xxx\xxx.class
页面文件对应的的路径为:
\xxx\xxx.jsp \xxx\xxx.css
而我们实际获取的路径是下面这种格式的
/WebRoot/pay/report/print.jsp /src/com/clifford/pay/report/CreateReportImage.java
为了替代手动调整格式,将全部的路径保存到一个.txt文件中,利用Python截取、替换实现预期效果。代码如下:
# coding=utf-8 import re f = open('E:\\urlTest.txt','r+') #print(str(f.readline())) readlines = f.readlines() data = '' #print(readlines[0]) # for in 语句只能遍历iterator,如果需要根据下标获取列表中的元素可以利用range()将列表长度装换为iterator for lineStr in readlines: # re.findall() 返回的是一个列表,无匹配元素时,返回的是空列表 lineStr = re.findall('src/.*|WebRoot/.*',lineStr) # 判断列表是否为空 if lineStr: # 列表不为空时取列表中的第一个元素 lineStr = str(lineStr[0]) lineStr = re.sub(r'src','/WEB-INF/classes',lineStr) lineStr = re.sub(r'.java','.class',lineStr) lineStr = re.sub(r'WebRoot','',lineStr) r = re.compile(r'/') lineStr = r.sub(r'\\',lineStr) #print(''.join(lineStr)) data +=lineStr+'\n' else: continue print(data) f.close() output = open('E:\\result.txt','w') output.writelines(data) output.close()