频道栏目
首页 > 资讯 > Python > 正文

python使用读取文件、替换文件中指定的内容

17-02-18        来源:[db:作者]  
收藏   我要投稿

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()
相关TAG标签
上一篇:他是一名黑客,苦读18年,最后却选择当一名黑客
下一篇:win10装babel实战
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站