类型错误:time.sleep() 中需要一个浮点数

Sno*_*lav -1 python floating-point time sleep python-2.7

在脚本的开头,我从文件中调用一些信息,如下所示:

with open('main.txt') as main:
    for line in main:
        secondary, delay = line.split(':')
Run Code Online (Sandbox Code Playgroud)

然后发生了一些事情,在循环的最后我希望它休眠。所以我有这段代码:

print "Delay entered until next cluster:",
print delay.rstrip("\n"),
print "seconds\n"
delay = delay.rstrip('\n')
time.sleep(delay)
Run Code Online (Sandbox Code Playgroud)

一切都工作得非常好!除了最后一部分之外,每次运行它时,都会出现以下错误:

    time.sleep(delay)
TypeError: a float is required
Run Code Online (Sandbox Code Playgroud)

我搜索了一下,发现了类似的求助电话,有人回答说他必须尝试一下: x = float(x)

这就是我尝试的原因:

delay = delay.rstrip('\n')
time.sleep(delay)
Run Code Online (Sandbox Code Playgroud)

但仍然没有运气。

我确信这是一个简单的解决办法,在过去的一个小时里我一直忽略了答案,但这让我发疯了!它从有趣变成了挑战,现在变得绝对令人沮丧!

NPE*_*NPE 5

sleep()需要一个浮点数,而你给它一个字符串。您需要显式转换:

time.sleep(float(delay))
Run Code Online (Sandbox Code Playgroud)