我的第一个python脚本
来源:互联网 发布:windows repair 编辑:程序博客网 时间:2024/05/19 02:25
这是我写的第一个python脚本,将从芯片厂商得到的android4.0代码按source.android.com的项目划分方式传到本地服务器中。
a.py内容:
from __future__ import print_function#!/usr/bin/pythonBaseIcsPath = "/home/chuangyi/hi3716c/HiSTBAndroidV400R001C00SPC050/software/HiSTBAndroidV400R001C00SPC050B012/"BaseRemotePath = "git@192.168.1.12:"GIT = 'git'from xml.dom.minidom import parseimport xml.dom.minidomimport optparseimport sysimport osimport statimport subprocessdef execute_git_cmd(path, cmd): try: proc = subprocess.Popen(cmd, cwd = (BaseIcsPath+path)) except OSError as e:# print(file=sys.stderr) print("fatal: %s" %e, file=sys.stderr) sys.exit(1) if proc.wait() != 0: print("fatal: %s" %cmd) sys.exit(2)def upload_git(name,path): print("upload_git: name=%s, path=%s" % (name, path)) cmd1 = [GIT, "init", '--quiet'] cmd2 = [GIT, "add", '.'] cmd3 = [GIT, "commit", '-a', '-m', 'init version'] cmd4 = [GIT, "remote", 'add', 'origin', BaseRemotePath+name] cmd5 = [GIT, "push", 'origin', 'master'] execute_git_cmd(path, cmd1) execute_git_cmd(path, cmd2) execute_git_cmd(path, cmd3) execute_git_cmd(path, cmd4) execute_git_cmd(path, cmd5)def main():# Open XML document using minidom parser DOMTree = xml.dom.minidom.parse("manifest.xml") collection = DOMTree.documentElement# Get all the movies in the collection movies = collection.getElementsByTagName("project") print("project count=%d" % len(movies)) ii = 0 projectlist="" for movie in movies: ii = ii + 1 path = movie.getAttribute("path") name = movie.getAttribute("name") #print "path=%s, name=%s" % (path,name) if not os.path.isdir(BaseIcsPath + path): print("not find %s" % path) else: projectlist = projectlist + " " + name upload_git(name, path)# if ii == 1:# upload_git(name, path)# print("project list: %s" % projectlist)if __name__ == '__main__': main()
manifest.xml内容:
<?xml version="1.0" encoding="UTF-8"?><manifest> <remote name="aosp" fetch=".." /> <default revision="refs/tags/android-4.0.1_r1" remote="aosp" sync-j="4" /> <project path="build" name="platform/build"> <copyfile src="core/root.mk" dest="Makefile" /> </project> <project path="abi/cpp" name="platform/abi/cpp" /> <project path="bionic" name="platform/bionic" /> <project path="bootable/bootloader/legacy" name="platform/bootable/bootloader/legacy" /> <project path="bootable/diskinstaller" name="platform/bootable/diskinstaller" /> <project path="bootable/recovery" name="platform/bootable/recovery" /> <project path="cts" name="platform/cts" /> <project path="dalvik" name="platform/dalvik" /> <project path="development" name="platform/development" />。。。。。。 <project path="system/core" name="platform/system/core" /> <project path="system/extras" name="platform/system/extras" /> <project path="system/media" name="platform/system/media" /> <project path="system/netd" name="platform/system/netd" /> <project path="system/vold" name="platform/system/vold" /></manifest>
- 我的第一个python脚本
- 我的第一个python爬虫脚本
- 我的第一个脚本
- 我的第一个Python+Appium脚本之APP登录脚本
- 我的第一个Shell脚本
- 我的第一个shell脚本
- 我的第一个perl脚本
- 我的第一个robot脚本
- 我的第一个bash脚本
- 我的第一个shell脚本
- 我的第一个 AppleScript 脚本
- 我的第一个PHP脚本!
- 我的第一个shell脚本
- 我的第一个shell脚本
- 我的第一个shell脚本
- 我的第一个lua脚本
- 我的第一个shell脚本
- 我的第一个shell脚本
- 16周项目3:学会单步调试
- 玩字符串
- WS-Coordination简介
- 第十六周上机任务项目3-打入“内部”寻“内幕”
- FNV哈希
- 我的第一个python脚本
- 计算几何模板
- POJ 3026 Borg Maze
- 预备知识―程序的内存分配
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 关于BCD码的编码和解码(C#版)
- 第十六周项目五—运用指针逆序存放并输出
- excel使用技巧
- QPropertyAnimation 可以改变所有属性哦