Python脚本备份
#!/usr/bin/python3
# -*- coding:utf- -*- # 保证源程序可以输入汉字 print bool([]) # 任何为零的数字或空集(空列表、空元组和空字典等)均为False
radius = input(u"输入半径: ");
radius_float = float(radius);
area=radius_float***3.1415926; # **是平方运算,pow()也可以执行平方运算
print u'面积:%f'%(area)
# coding:utf-8
import os
import re
import shutil
from subprocess import Popen, PIPE safe_imgs_path = os.path.dirname(__file__)
destination_path = safe_imgs_path.split('GlobalRobot')[0] + 'GlobalApp'
proj_path = destination_path + '/GlobalApp.xcodeproj/project.pbxproj' def getBundleId():
pattern = 'PRODUCT_BUNDLE_IDENTIFIER = (.*);'
bundle_id = None
with open(proj_path) as f:
s = ''.join(f.readlines())
res = re.findall(pattern, s)
if len(res):
bundle_id = res[0]
f.close()
return bundle_id def handle_safeImage():
bundle_id = getBundleId()
if bundle_id:
cmd = 'cp {img_path}/{img_name}.jpg {des_path}/{des_name}.jpg'.format(img_path=safe_imgs_path, img_name=bundle_id,
des_path=destination_path,
des_name='yw_1222_07e8')
Popen(cmd, shell=True) def change_robotCode():
bundle_id = getBundleId();
normal_name='a1myR6pZui3';
test_name='a1wYaPBqf6g';
print bundle_id;
root_path=safe_imgs_path.split('GlobalRobot')[0];
logidPath = root_path + 'GlobalRobot/GLBRobot/GLBConfig/GLBRobotConfig.bundle/GLBRobotLogicIdMap.json'
router_path = root_path + 'GlobalRobot/GLBRobot/GLBConfig/GLBRobotConfig.bundle/GLBRobotRouteTable.json'
if bundle_id == 'com.eco.global.app':
changeDX5ClassName(logidPath,normal_name,test_name)
changeDX5ClassName(router_path,normal_name,test_name)
elif bundle_id =='com.vivien.demo':
changeDX5ClassName(logidPath,test_name,normal_name)
changeDX5ClassName(router_path, test_name, normal_name)
return; def changeDX5ClassName(fileName,toName="a1myR6pZui3",from_name='a1wYaPBqf6g'):
print 'toName'+toName+' ,fromName:'+from_name ;
file_path = fileName;
backup_path = file_path + '.bak'
if not os.path.exists(backup_path):
shutil.copy2(file_path, backup_path)
with open(file_path, mode='r') as fr, open(backup_path, mode='w') as fw:
for line in fr:
re_sub_list = re.sub(from_name, toName, line) # 这里用re.sub进行替换后放入 re_sub_list中
print('re_sub_list'+re_sub_list);
fw.writelines(re_sub_list) # 将列表中的每一行进行写入。writelines是将序列对象中的每一行进行写入。
os.remove(file_path);
os.rename(backup_path, file_path); if __name__ == '__main__':
print "==============================开始替换安全图片=============================="
handle_safeImage()
print "==============================完成替换安全图片=============================="
print "==============================开始更换DX5 Class=============================="
change_robotCode()
print "==============================完成更换DX5 Class=============================="
Python脚本备份的更多相关文章
- python 脚本备份 mysql 数据库到 OSS
脚本如下: #!/usr/bin/python ########################################################### ################ ...
- python 脚本备份mssql数据库并删除数据库
一.实现脚本 # -*- coding=utf-8 -*- import pyodbc from datetime import datetime import pymssql import os i ...
- Python数据库备份脚本
Python数据库备份脚本 #!/usr/bin/env python # author: liudong # -*- coding: utf-8 -*- # filename: db_bak.py ...
- 除了binlog2sql工具外,使用python脚本闪回数据(数据库误操作)
利用binlog日志恢复数据库误操作数据 在人工手动进行一些数据库写操作的时候(比方说数据修改),尤其是一些不可控的批量更新或删除,通常都建议备份后操作.不过不怕万一,就怕一万,有备无患总是好的.在线 ...
- MySQL利用binlog恢复误操作数据(python脚本)
在人工手动进行一些数据库写操作的时候(比方说数据订正),尤其是一些不可控的批量更新或删除,通常都建议备份后操作.不过不怕万一,就怕一万,有备无患总是好的.在线上或者测试环境误操作导致数据被删除或者更新 ...
- zabbix 调用python脚本监控 磁盘剩余空间(创建模版,创建监控项,创建触发器)
主要 记录一下 使用zabbix 自己创建模版.监控项.触发器,并调用python脚本. 需求: 监控备份机磁盘剩余空间(windows系统) 一.安装zabbix_agent 比较简单 修改配置文 ...
- crontab定时运行python脚本访问MySQL遇到问题
最近写了一个python脚本来定时备份MySQL数据库.具体实现如下: 1)python脚本中使用os.system("mysqldump -h127.0.0.1 -uroot -ppass ...
- 自己来编写一份 Python 脚本 第一版
解决问题 我们已经探索了 Python 语言中的许多部分,现在我们将通过设计并编写一款程序来了解如何把这些部分组合到一起.这些程序一定是能做到一些有用的事情.这节的Python教程就是教大家方法去学习 ...
- 备份文件的python脚本(转)
作用:将目录备份到其他路径.实际效果:假设给定目录"/media/data/programmer/project/python" ,备份路径"/home/diegoyun ...
随机推荐
- 源码编译vim
目录 获取最新版 vim 源码 1 git仓库clone 2, 源码包下载,里面有各个版本的vim压缩包 vim 配置选项 配置示例 参考文章 tip 获取最新版 vim 源码 1 git仓库clon ...
- mongodb 性能
mongo 性能:http://www.mongoing.com/docs/tutorial/optimize-query-performance-with-indexes-and-projectio ...
- python基础5 while循环
一.while循环: while 条件: 代码块 例: n=0 while n<10: print(n) n=n+1 #n自加1 ,满足n<10,继续循环 输出结果: 1 2 3 4 ...
- Python解析Xmind工具
使用Xmind写用例 使用Python解析Xmind,统计用例个数 代码: from xmindparser import xmind_to_dict import tkinter as tk fro ...
- POI导出excel列宽自适应
让单元格宽度随着列和单元格值的宽度自适应: //存储最大列宽 Map<Integer, Integer> maxWidth = new HashMap<>(); // 将列头设 ...
- LG2292 L语言
题意 给出\(n\)个单词,再给出\(m\)段无符号的文章,询问每段文章能最长匹配的前缀. 思路 设\(f[i]\)为前缀\([1,i]\)能否被匹配,对于一个可以匹配完的节点\(i\),若有\([i ...
- HTML技巧篇:如何让单行文本以及多行文本溢出时显示省略号(…)
参考:https://baijiahao.baidu.com/s?id=1621362934713048315&wfr=spider&for=pc 本篇文章主要给大家介绍一下在html ...
- warning: a non-numeric value encountered in line *的解决方法
今天ytkah在调试项目的时候出现了一个警告warning: a non-numeric value encountered in line 694,查看php官方文档,上面解释说在使用(+ - * ...
- 发布到FaceBook试玩广告,FaceBook要求要一个Html文件
Facebook 试玩广告具体要求: 试玩广告参数是创建试玩广告素材时要满足的要求. 试玩素材应为 HTML5 格式. 试玩广告素材不应使用 mraid.js 格式. 包含所有素材的试玩广告的单个 H ...
- VS调试SQL Server存储过程
1.打开VS,视图-->SQL Server对象资源管理器.(我用的是VS2012) 2.添加链接,连接到数据库. 3.选择要调试的存储过程,右键,选择调试过程或者执行过程. 4.填写存储过程所 ...