在python/pytest中可以等待特定值吗

9lowa7mx  于 2023-06-20  发布在  Python
关注(0)|答案(1)|浏览(130)

是否可以等待从python/pytest中的函数接收到特定值。
我有一个函数(例如:test_瓦尔),它在不同的场景下返回不同的值。所以我需要运行一个代码,当一个特定的值(例如:15)从函数test_瓦尔返回。是否可以等待值15并超时?比如我需要等待2秒,如果在2秒内接收到值15,则可以运行代码块,否则跳过它。
任何帮助都很感激

368yc8dk

368yc8dk1#

对于您的情况,您可以创建一个循环来连续调用函数,直到它返回所需的值或达到时间限制。下面是一个简单的示例,说明如何执行此操作:

import time

def test_val():
    # Your function here
    return value

start_time = time.time()
timeout = 2.0  # timeout in seconds

while True:
    result = test_val()
    if result == 15:
        print("Value 15 received!")
        # run your block of code here
        break
    elif time.time() - start_time > timeout:
        print("Timeout reached")
        # handle timeout here
        break

这段代码将循环运行test_瓦尔函数,直到函数返回15秒或2秒。

相关问题