在使用linecache.getline()函数时,重复给text赋值,值却不变的原因:linecache.getline()存在缓存问题,导致第二次重新赋值时依然获取的第一次的内容,未拿到最新的值,重新赋值前使用linecache.clearcache()清除缓存即可。
代码
import os
import linecache
list=[]
num=1
while num<4:
adb="adb shell am start -S -W -n com.kmxs.reader/.home.ui.HomeActivity>D:\Package\dumpsys\start_time.csv"
d=os.system(adb)
t=str(d)
with open("D:\Package\dumpsys\start_time.csv","r+") as f:
s=f.read()
text=linecache.getline("D:\Package\dumpsys\start_time.csv",6)
list.append(text)
print(list)
linecache.clearcache()#清除缓存
else:
print("执行结束",list)
参考连接: