Ich verwende einen Mikrocontroller, um eine Glühbirne basierend auf einer Benutzereingabezeit zu steuern, und ich führe diese Funktion in einem Thread. Ich erhalte eine Fehlermeldung auf der Linie time.sleep(1)
:Getting "TypeError: muss eine Zeichenfolge sein, nicht funktionieren"
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()
Das ist mein Traceback:
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
Hinzufügen versuchen und außer vielleicht hilft. –
Es sieht also so aus, als wäre der Fehler irgendwo anders in Ihrem Code, wo Sie "Zeit" vielleicht als etwas anderes als das Standardmodul definieren. (Sie sollten prüfen, ob dies nicht der Fall ist). – zezollo
Löschen Sie Ihre Definition, wenn Sie einen Namen 'Zeit' haben. Oder 'von Zeit import Schlaf als zzzz' und' zzzz (1) ' – dsgdfg