ios定时运行python脚本,ios运行python脚本
#编码=utf8
导入战斗支援车
导入操作系统
导入系统
重新加载(系统)
sys.setdefaultencoding(utf8 )
作者:王锷
数据:2017年七月18日
该模块的主要功能函数:
读取战斗支援车中的数据到内存中
readDataToList():把战斗支援车中的数据,数据项以字典类型存储在列表中。
printIOSCodeData(数据列表):参数类型是以字典类型作为单个数据项的列表
PATH=lambda p:OS。路径。abspath(OS。路径。加入(
os.path.dirname(__file__),p))
类数据列表(对象):
def __init__(self,filePah=PATH( ./20170803162912 . CSV’):
尝试:
#存放战斗支援车中读取的数据
self.mdbuffer=[]
#打开战斗支援车文件,设置读的权限
csvHand=open(filePah, r )
#创建读取战斗支援车文件句柄
readcsv=csv.reader(csvHand)
#把战斗支援车的数据读取到mdbuffer中
对于readcsv中的行:
self.mdbuffer.append(行)
#把数据穿件为为字典类型的
除了例外,e:
打印读取超过错误:,e
最后:
#关闭战斗支援车文件
csvHand.close()
def readDataToList(self):
尝试:
#在数组最后添加一个空白行
#该行的作用是为了成功获取最后一条数据数据
#在数组端线添加空白字符
endLine=[ for num in range(len(self。MD buffer[1]),如果num=0]
#把以空字符的端线添加到末尾
self.mdbuffer.append(endLine)
#获取mdbuffer中的元素个数
rowNumber=len(self.mdbuffer)
#设置当前行号
currentrow=1
#设置数据数据的属性值
propertyJson={}
#读取列表中的元素
数据列表=[]
尝试:
对于范围中的行(1,行号):
#创建一个临时变量用来存取一次循环的属性键值
温度={}
#获取列表中一个元素
item=self.mdbuffer[row]
#获取当前元素,当前元素代表的是每个
#事件起始的位置
当前项目=自身。MD缓冲区[当前行]
#获取法业务类型并进行解码
mdEvent=currentItem[0].解码(“gbk”)
serviceId=currentItem[2].解码(“gbk”)
#获取属性并进行解码,把解码的值存入属性名称
propertyName=item[3].解码(“gbk”)
#获取属性值并进行解码,把解码的值存入属性值
propertyValue=item[4].解码(“gbk”)
尝试:
#判断埋点事件与法业务类型是否相等
如果项目[0]==currentItem[0]和item[2]==currentItem[2]:
#用来保存埋点事件
属性JSON[ MD事件]=MD事件
#把法业务类型方式字典propertyJson中
属性JSON[服务id ]=服务id
#把属性/值对放入临时雇员字典中
温度[属性名]=属性值
#调用字典的更新函数,把临时雇员中的键值对
#添加到propertyJson字典中
propertyJson.update(临时)
#使用继续,如果为如果条件为真实的则循环执行如果语句模块
继续
否则:
#把行号设置为当前行
currentrow=row
#把当前的属性解码放入属性名称
propertyName=currentItem[3].解码(“gbk”)
#把当前的属性值解码放入属性名称
propertyValue=currentItem[4].解码(“gbk”)
#用来保存埋点事件
mdEvent=currentItem[0].解码(“gbk”)
#把法业务类型方式字典propertyJson中
属性JSON[服务id ]=服务id
#把属性/值对放入propertyJson字典中
属性JSON[属性名]=属性值
# propertyjsonlist。append(属性JSON)
dataList.append(propertyJson)
propertyJson={}
除了例外,e:
打印获取属性数据错误:,e
#打印获取属性数据错误:,e
除了例外,e:
打印获取日期错误:,e
#打印获取日期错误:,e
#返回数据列表
返回数据列表
除了例外,e:
#把信息写入日志中
打印"读取数据到Dic "错误:,e
def printIOSCodeData(self,dataList):
尝试:
如果len(数据列表)0:
#对列表中的数据执行为循环
#并输出类似与数据样式的数据
对于数据列表中的项目:
打印你好埋点事件:,项目[mdEvent]
#输出键值对
打印"[xmbehaviourmgr post static with app name:@ 事件"
打印 \ t \ t \ t服务id:@ % s % item[服务id ]
item.pop(serviceId )
item.pop(mdEvent )
打印 \t\t\t其他属性:@{
对于key,item.items()中的val:
打印\t\t\t\t , @ 键 ,:, @ 值 ,,
打印\t\t\t }
print \ t \ t \ t track DIC:nil];
#设置以#格式的分隔符
打印 #*50
打印
除了例外,e:
打印输出IOS数据错误:,e
定义测试():
baseData=DataList()
基础数据。printioscodedata(基本数据。readdatatolist())
if __name__==__main__ :
baseData=DataList(sys.argv[1])
基础数据。printioscodedata(基本数据。readdatatolist())
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。