Python VIL Realse
#!/usr/bin/python
#-*- coding:utf-8 –*- import os
import sys
import re
import shutil
import xlrd
import xlwt
from xlutils.copy import copy '''
提取相关RELEASE信息,追加“SW Release Note.xls”
运行命令 ./gen_release.py "Modified reason"
''' def fun_genRelease():
list = []
curLine = ""
book = xlrd.open_workbook(r'./mergedir/SW Release Note.xls',formatting_info=True)
sheet = book.sheet_by_index(0) newBook = copy(book)
newSheet = newBook.get_sheet(0)
list.append(sheet.nrows-1)
with open("./drivers/include/project.h", "r") as mFile:
proData = mFile.read() with open("./aps/include/common_patch.h","r") as comFile:
comData = comFile.read()
modeId = re.search(".*DEFAULT_MODE_ID\s+(\d+).*",comData).group(1) pat = re.compile(".*?(\d+).*\{.*\"((\d+)_.*)\",\s+&\w+\[\d+\],\s+/\*(.*?)\*/\s+&\w+\[\d+\],\s+/\*(.*)\*/.*") list.append(re.search(".*CONFIG_APP_FOLDER_NAME.*\"(.*)\"", proData).group(1))
board = re.search(".*CONFIG_MODEL_BOARD_NAME\s+\"(\w+)\"",proData).group(1) with open("./aps/customer/radisson/%s/adaptable/model_data.c" %board,"r") as modeFile:
modeList = modeFile.readlines() for line in modeList:
if pat.search(line) and pat.search(line).group(1) == modeId:
curLine = line
break list.append(pat.search(curLine).group(2))
list.append(pat.search(curLine).group(3))
list.append(pat.search(curLine).group(4))
list.append(pat.search(curLine).group(5))
list.append("LL" if "LL" in pat.search(curLine).group(2) else "NON LL")
list.append("" if len(sys.argv) ==1 else sys.argv[1]) with open("./aps/include/timestamp.h","r") as verFile:
verData = verFile.read() list.append("%s%s" %(board,re.search(".*TIME_VERSION\s+\"(\w+)\".*",verData).group(1)))
list.append("")
list.append("")
list.append("bjornLee") #写EXCEL
#for col in range(sheet.ncols):
col = 0
for cell in list:
newSheet.write(sheet.nrows,col,cell)
col = col+1
#newSheet.write(sheet.nrows,col,"test")
newBook.save(r'./mergedir/SW Release Note.xls')
print "\n",list,"\n" def main():
fun_genRelease() if __name__ == '__main__':
main()
Python VIL Realse的更多相关文章
- Python VIL Service Bin
#!/usr/bin/python #coding:UTF-8 import sys import re import getopt import md5 import os import subpr ...
- python 学习源码练习(1)
#编译方式,python3 文件名 #!/usr/bin/python3#print('hello world') mystring = 'hello world'print (mystring) # ...
- python 单变量线性回归
单变量线性回归(Linear Regression with One Variable)¶ In [54]: #初始化工作 import random import numpy as np imp ...
- python+Django创建第一个项目
1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
随机推荐
- Hash课堂测试补写
Hash课堂测试补写 测试要求: 利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75) 关键字集合:85,75,57,6 ...
- 解决Tomcat端口被占用 及 启用失败等其它错误整理册
使用管理员模式启动命令行工具. netstat -ano|findstr 获取了pid号 taskkill /pid /f 其中6428为pid号,可能有不同. -------- 有时遇到其它问题可以 ...
- POJ 3613 Cow Relays(floyd+快速幂)
http://poj.org/problem?id=3613 题意: 求经过k条路径的最短路径. 思路: 如果看过<矩阵乘法在信息学的应用>这篇论文就会知道 现在我们在邻接矩阵中保存距离, ...
- 51Nod 1737 配对(树的重心)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1737 题意: 思路: 树的重心. 树的重心就是其所以子树的最大的子树结点 ...
- webSocket协议与Socket的区别
WebSocket介绍与原理WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex).一开始的握手需要借助HTTP请求完成. ——百度 ...
- [图床神器]Windows下的图片上传工具MPic
最近用hexo在github上搭建了一个静态博客,开始几天用起来感觉还挺好的,但是用了些天就觉得每次写文章插入图片就非常麻烦,而且如果图片多了的话上传和访问就很慢了.后来网上看了下发现mac下有款ip ...
- Learn Rails5.2 Bundler ; Forms
如果一个Rubyer想要提供一个功能或某个程序或程序的集合给其他Rubyer使用,这个Rubyer可以创建一个package,这个package就叫做gems. 可以通过gem install安装. ...
- C# DataTable Compute方法的使用
在开发中需要对DataTable的数据进行处理,比如累加,求最大最小及平均值等,以前都采用手工对DataTable进行循环并计算的方式,现在发现DataTable的Compute方法可以轻松实现这些功 ...
- EBS 定义并发参数常用值集
1.ORG_ID 2.DATE 3.YES_NO
- 两个值相等的Integer的==比较问题
@Test public void testIntegerEqual() { /** -128~127 之外的数**/ Integer tem = 129; ...