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

  1. python 脚本备份 mysql 数据库到 OSS

    脚本如下: #!/usr/bin/python ########################################################### ################ ...

  2. python 脚本备份mssql数据库并删除数据库

    一.实现脚本 # -*- coding=utf-8 -*- import pyodbc from datetime import datetime import pymssql import os i ...

  3. Python数据库备份脚本

    Python数据库备份脚本 #!/usr/bin/env python # author: liudong # -*- coding: utf-8 -*- # filename: db_bak.py ...

  4. 除了binlog2sql工具外,使用python脚本闪回数据(数据库误操作)

    利用binlog日志恢复数据库误操作数据 在人工手动进行一些数据库写操作的时候(比方说数据修改),尤其是一些不可控的批量更新或删除,通常都建议备份后操作.不过不怕万一,就怕一万,有备无患总是好的.在线 ...

  5. MySQL利用binlog恢复误操作数据(python脚本)

    在人工手动进行一些数据库写操作的时候(比方说数据订正),尤其是一些不可控的批量更新或删除,通常都建议备份后操作.不过不怕万一,就怕一万,有备无患总是好的.在线上或者测试环境误操作导致数据被删除或者更新 ...

  6. zabbix 调用python脚本监控 磁盘剩余空间(创建模版,创建监控项,创建触发器)

    主要 记录一下  使用zabbix 自己创建模版.监控项.触发器,并调用python脚本. 需求: 监控备份机磁盘剩余空间(windows系统) 一.安装zabbix_agent 比较简单 修改配置文 ...

  7. crontab定时运行python脚本访问MySQL遇到问题

    最近写了一个python脚本来定时备份MySQL数据库.具体实现如下: 1)python脚本中使用os.system("mysqldump -h127.0.0.1 -uroot -ppass ...

  8. 自己来编写一份 Python 脚本 第一版

    解决问题 我们已经探索了 Python 语言中的许多部分,现在我们将通过设计并编写一款程序来了解如何把这些部分组合到一起.这些程序一定是能做到一些有用的事情.这节的Python教程就是教大家方法去学习 ...

  9. 备份文件的python脚本(转)

    作用:将目录备份到其他路径.实际效果:假设给定目录"/media/data/programmer/project/python" ,备份路径"/home/diegoyun ...

随机推荐

  1. c#清空文本文件

    FileStream fs = new FileStream(@"C:\log.txt", FileMode.Truncate, FileAccess.ReadWrite); fs ...

  2. 如何让模拟的json数据接口能够正常的在手机上有效果

    1. 确保手机与PC在同一个ip网下 这里我是通过------------360随身WIFI,20块钱淘宝上卖的,外观像U盘一样的,直接插在电脑的USB上就能在PC上创建一个WiFi,手机连接上就可以 ...

  3. springboot+spring security +oauth2.0 demo搭建(password模式)(认证授权端与资源服务端分离的形式)

    项目security_simple(认证授权项目) 1.新建springboot项目 这儿选择springboot版本我选择的是2.0.6 点击finish后完成项目的创建 2.引入maven依赖  ...

  4. 小白用阿里云搭载wordpress个人博客

    阿里云服务已经购买多时,却一直没时间部署内容,借着这次机会自己照着博客园园友的方式用wordpress搭建了个人博客! 创建wordpress的内容就不多说了,直接附链接来源:https://www. ...

  5. python处理Excel - xlrd xlwr openpyxl

    python处理Excel - xlrd xlwr openpyxl 1 xlrd和xlwt Todo: 使用xlrd和xlwt读写Excel文件的方法和示例代码,待续... 参考链接: Creati ...

  6. get请求02

    import requests r = requests.get("http://www.baidu.com") print(r.status_code) #状态码 print(r ...

  7. .Net Core:Middleware中间件管道

    .NetCore中的Middleware是装配到管道处理请求和响应的组件:每个组件都可以决定是否继续进入下一个管道.并且可以在进入下一个管道前后执行逻辑: 最后一个管道或者中断管道的中间件叫终端中间件 ...

  8. JS对象、构造器函数和原型对象之间的关系

    一.基本概念 1.对象:属性和方法的集合,即变量和函数的封装.每个对象都有一个__proto__属性,指向这个对象的构造函数的原型对象. 2.构造器函数:用于创建对象的函数,通过new关键字生成对象. ...

  9. day14 python各种推导式详解

    推导式的套路 之前我们已经学习了最简单的列表推导式和生成器表达式.但是除此之外,其实还有字典推导式.集合推导式等等. 下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variabl ...

  10. MySql 版本

    MySql 版本: netformwork 2.0 netformwork 4.0