1
我正在使用微控制器根据用户输入时间来控制灯泡,并且我正在线程中运行此函数。我一直在该行time.sleep(1)
得到一个错误:获取“TypeError:必须是字符串,而不是函数”
TypeError: must be a string, not function
def light():
while True:
if(hour < 7 or hour > 18):
digitalWrite(light, LOW)
elif(hour > 6 and hour < 19):
digitalWrite(light, HIGH)
time.sleep(1)
increment_second()
print second
#Time increments
def increment_minute():
global minute
minute = minute + 1
if(minute == 60):
minute = 0;
increment_hour()
def increment_hour():
global hour
hour = hour + 1
if(hour == 24):
hour = 0
def increment_second():
global second
second = second + 1
if(second == 60):
second = 0
increment_minute()
这是我回溯:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run()
File "/usr/lib/python2.7/threading.py", line 505, in run self.__target(*self.__args, **self.__kwargs)
File "/var/lib/cloud9/Untitled2.py", line 63, in light time.sleep(1)
TypeError: must be string, not function
添加尝试,除了可能有帮助。 –
所以看起来错误是在代码中的其他地方,您可能会将'time'重新定义为与标准模块不同的东西。 (你应该检查这是不是这种情况)。 – zezollo
如果您有'time'这个名字,请清除您的定义。或'从时间导入睡眠为zzzz'和'zzzz(1)' – dsgdfg