#!/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的更多相关文章

  1. Python VIL Service Bin

    #!/usr/bin/python #coding:UTF-8 import sys import re import getopt import md5 import os import subpr ...

  2. python 学习源码练习(1)

    #编译方式,python3 文件名 #!/usr/bin/python3#print('hello world') mystring = 'hello world'print (mystring) # ...

  3. python 单变量线性回归

      单变量线性回归(Linear Regression with One Variable)¶ In [54]: #初始化工作 import random import numpy as np imp ...

  4. python+Django创建第一个项目

    1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...

  5. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  6. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  7. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  8. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  9. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

随机推荐

  1. 20145319 《网络对抗》逆向与Bof基础

    20145319 逆向与Bof实验 1 实验内容 本次实验以可执行文件pwn1为例,将对pwn1进行反汇编的基础上进行功能上的解读,并进行缓冲区溢出攻击 可执行文件pwn1的正常流程是主函数调用foo ...

  2. 20145325张梓靖 《Java程序设计》第7周学习总结

    20145325张梓靖 <Java程序设计>第7周学习总结 教材学习内容总结 时间的度量 格林威治时间,简称GMT时间,由观察太阳而得来:世界时,UT:国际原子时,TAI:世界协调时间,U ...

  3. C++ 为什么要使用#ifdef __cplusplus extern "C" { #endif

    转载:http://www.cnblogs.com/ayanmw/archive/2012/03/15/2398593.html 转载:http://blog.csdn.net/zkl99999/ar ...

  4. git clone,push,pull,fetch命令详解

    源自 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌 ...

  5. 3个方法实现JavaScript判断移动端及pc端访问不同的网站

    3个方法比较简单,分别在页面头部加入如下js代码: 对于简单地直接从www.maslinkcom跳转到m.maslink.com,此方法仅从首页而言: <script>(function ...

  6. Ubuntu上识别不到安卓设备或者显示出“????”,提示No Permission

    一:Ubuntu上识别不到安卓设备 1.lsusb找到设备的Vendor ID 2.cd ~/.android 3.vim adb_usb.ini 4.把设备的VendorID添加进来,如设备ID为2 ...

  7. 51nod1347思维

    1347 旋转字符串 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 S[0...n-1]是一个长度为n的字符串,定义旋转函数Left(S)=S[1… ...

  8. HQL查询语句中的模糊查询

    From Person this Where this.name like '%abc%' @SuppressWarnings("unchecked") @Override pub ...

  9. JS object(对象)的学习汇总

    Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象,而每一个事物都有自己的表示的属性和对于某一信息作出的相应的操作.而这些东西就变成了事物的属性和方法. ...

  10. Linux修改字符集

    set NLS_LANG=american_america.AL32UTF8-----Linux下查看及更改oracle字符集编码[root@OracleDB ~]# cd /usr/local/or ...