生成器中的布尔变量

问题描述

我有一个正在运行的脚本,在其中我遵循.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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...