从配置中提取数字以进行睡眠

时间:2017-07-15 20:58:54

标签: python sleep

基本上我试图将一个字符串输入作为睡眠定时器拉入配置。 我一直收到错误

Traceback (most recent call last):
  File "bot.py", line 50, in <module>
    sleep(sleep_time)
TypeError: an integer is required (got type str)

这是我正在使用的代码。有一个更好的方法吗?基本上我希望能够在将一个睡眠时间输入到一个exe中后将其输入配置。

sleep_time=config.get('settings', 'SleepTime')
sleep(sleep_time)

1 个答案:

答案 0 :(得分:0)

与追溯说法一样,您需要先将变量转换为int,然后再将其传递给time.sleep

您可以使用int内置函数执行此操作,该函数将使用字符串并将其转换为整数。您还可以提供第二个数字来更改转换的基数,默认基数为10.

myint = int("10")        # myint == 10
myint = int("1a", 16)    # myint == 26

我假设SleepTime是您在默认睡眠时间使用的变量的名称。就个人而言,我会像这样编写函数调用;

sleep_time = config.get("settings")
if sleep_time is not None:
    sleep_time = int(sleep_time)
else:
    sleep_time = SleepTime

sleep(sleep_time)

但是你可能希望这样做以提高可读性;

sleep_time = int(config.get("settings", "1")) # sleep for 1 second by default
sleep(sleep_time)