Je travaille sur un projet automatisé de stores/rideaux depuis un certain temps. Tout fonctionne bien, mais je voudrais ajouter la fonction des stores qui s'ouvre progressivement le matin. Je lis mes valeurs à partir d'un fichier de configuration et ai converti les valeurs en chaînes qui fonctionnent bien, juste ne peut pas diviser cette valeur pour une raison quelconque. J'ai essayé plusieurs manières de le faire mais j'ai l'impression de rencontrer des erreurs telles que: - SyntaxError: impossible d'assigner à l'opérateur et TypeError: impossible de concaténer les objets 'str' et 'int'. Quelqu'un at-il une idée sur la façon dont je peux diviser une chaîne python puis utiliser cette chaîne comme une valeur de sommeil ??Diviser les cordes en python 2.7
Je suis assez nouveau à la programmation (je suis 13)
from ConfigParser import SafeConfigParser
config = SafeConfigParser()
config.read('/home/pi/config.conf') #read config file
openTime = config.get('blinds', 'open time(secs)') # -> "openTime"
print 'Overall open time ' + openTime + ' seconds'
## code to divide openTime by 5 and print the value
print 'gradual open time' + DividedOpenTime + ' seconds'
## code to repeat in a loop 5 times with a sleep of the value of
## DividedOpenTime
EDIT 1
Salut à nouveau je l'ai fait ce qu'on m'a dit d'ajouter au code et il a résolu le question de la division et du temps de sommeil, mais pour une raison quelconque, je ne peux pas imprimer les valeurs. Les deux lignes 11 et 15 ont l'erreur suivante:
Traceback (most recent call last):
File "test.py", line 11, in <module>
print 'gradual open time' + divOpenTime + ' this will repeat 5 times'
TypeError: cannot concatenate 'str' and 'float' objects
Est-ce que quelqu'un sait comment je peux résoudre ce problème?
from ConfigParser import SafeConfigParser
config = SafeConfigParser()
import time
config.read('/home/pi/config.conf') #read config file
openTime = config.get('blinds', 'open time(secs)') # -> "openTime"
print 'Overall open time ' + openTime + ' seconds'
divOpenTime = float(openTime)/5 #working (:
loop = 0
print 'gradual open time' + divOpenTime + ' this will repeat 5 times'
for x in range(0, 5):
loop += 1
print 'gradual opening stage ' + loop + '/5'
#GPIO true- I know how to do this
time.sleep(divOpenTime) #working (:
#GPIO False- I know how to do this
time.sleep(15) #time between each interval fixed value
Merci Ed
Les erreurs sont la partie la plus importante d'entre nous vous aider. S'il vous plaît poster les erreurs comme c'est ici aussi. Et bravo à vous pour avoir commencé à programmer à un âge où la plupart des sacs paresseux ne faisaient que jouer aux jeux vidéo :) – Ray
Merci, en espérant ajouter plus de choses comme des cartes relais et des trucs à mon projet de domotique une fois que j'ai trié i va ajouter des erreurs la prochaine fois @Ray –