问题描述
我有一个正在运行的脚本,在其中我遵循.csv(例如,使用tailf),并且每次保存.csv文件时都采用更新后的值。该脚本与生成器函数一起使用,可读取csv文件的行(在While True:循环内)。 在主体上,我每次都将新数据(通过浮点型的其他函数转换)追加到浮点型数组。 我设法反复绘制数据,但我只想在不再有新行时才绘制图表。为此,我尝试使用充当布尔值的全局变量,但是它不起作用。你有建议吗?
在生成器功能的下面,在主I循环内。
功能:
def follow(csvfile):
global var_bool
var_bool = 0
while True:
line = csvfile.readline()
if not line:
var_bool = 1
time.sleep(0.1)
continue
yield line
主要:
csvlines = follow(csvfile)
for line in csvlines:...
重要
通过添加局部布尔变量和if语句解决。
def follow(csvfile):
global var_bool
while True:
line = csvfile.readline()
if line:
var_bool_local = 0
var_bool = 0
if not line:
time.sleep(0.1)
if var_bool_local == 0:
var_bool = 1
var_bool_local = 1
else:
continue
yield line
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)