TypeError: a bytes-like object is required, not
来源:2-4 【启动时间】监控脚本实现

慕后端猿
2018-03-15
按你的课程,编写了代码,会提示这个错误啊:TypeError: a bytes-like object is required, not 'str'
要怎么改才可以
写回答
3回答
-
慕后端猿
提问者
2018-03-15
# /usr/bin/python # encoding:utf-8 import csv import os import time class App(object): def __init__(self): self.content = "" self.startTime = 0 # 启动App def LaunchApp(self): cmd = 'adb shell am start -W -n com.expflow.reading/.activity.SplashActivity' self.content = os.popen(cmd) # 停止App def StopApp(self): cmd = 'adb shell am force-stop com.expflow.reading' # cmd = 'adb shell input keyevent 3' os.popen(cmd) # 获取启动时间 def GetLaunchedTime(self): for line in self.content.readlines(): if "ThisTime" in line: self.startTime = line.split(":")[1] break return self.startTime # 控制类 class Controller(object): def __init__(self, count): self.app = App() self.counter = count self.alldata = [("timestamp", "elapsedtime")] # 单次测试过程 def testprocess(self): self.app.LaunchApp() time.sleep(5) elpasedtime = self.app.GetLaunchedTime() print(elpasedtime) self.app.StopApp() time.sleep(3) currenttime = self.getCurrentTime() self.alldata.append((currenttime, elpasedtime)) # 多次执行测试过程 def run(self): while self.counter > 0: self.testprocess() self.counter = self.counter - 1 # 获取当前的时间戳 def getCurrentTime(self): currentTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print(currentTime) return currentTime # 数据的存储 def SaveDataToCSV(self): csvfile = open("startTime.csv", 'wb') writer = csv.writer(csvfile) writer.writerows(self.alldata) #writer.writerows(self.alldata).encode(encoding='utf-8') csvfile.close() if __name__ == "__main__": controller = Controller(1) controller.run() controller.SaveDataToCSV()
报错的是这个:writer.writerows(self.alldata)
022018-03-15 -
慕后端猿
提问者
2018-03-15
没有啊,主要我电脑是python3的
022018-03-15 -
毫末
2018-03-15
仔细对比一下,看看是不是缺了小括号什么的
00
相似问题