利用while True:break解决 asyncio:Future exception was never retrieved !

    技术2022-07-11  117

    在if 循环中,break的作用 def test1(): my_redis = Redis(db=7) for i in range(1, 1000): my_redis.lpush("redis_test", i) print(f"push {i} to redis") if i == 990: break if __name__ == '__main__': test1()

    2.主要针对一个bug:

    协程报错 : asyncio:Future exception was never retrieved !

    在加入while True: 死循环的时候:就可以解决.

    from redis import Redis def test(): my_redis = Redis(db=7) while True: for i in range(1, 100): my_redis.lpush("redis_test", i) print(f"push {i} to redis") if i == 99: break break

    这里需要两个break,不然会一直在while中打印if中的内容!

    在表示判断条件是否成立的时候,if 和 while 是等效的: 下面例子中的函数 test 和 test2 效果相同: from redis import Redis def test(): my_redis = Redis(db=7) while True: for i in range(1, 100): my_redis.lpush("redis_test", i) print(f"push {i} to redis") if i == 99: break break def test1(): my_redis = Redis(db=7) for i in range(1, 1000): my_redis.lpush("redis_test", i) print(f"push {i} to redis") # while i == 990: # 等效于 if i == 990: break def test2(): my_redis = Redis(db=7) while True: for i in range(1, 1000): my_redis.lpush("redis_test", i) print(f"push {i} to redis") while i == 999: break break if __name__ == '__main__': test1()
    Processed: 0.009, SQL: 9