Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 2, 2011 18:42:05

free_kode
От:
Зарегистрирован: 2011-07-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Доступ переменной вне условия

    messageClientFrom = ''

if messageBody == '_sms':
messageClientFrom = messageFrom
smsSend('+79506743650','testing',0)
if messageFrom == 'mrim.jabber.ru':
print'fr4', messageClientFrom
#botClient.send(xmpp.Message(messageClientFrom,messageBody))
При выполнении первого условия переменная messageClientFrom пуста. А она нужна во втором условии как ее получить?



Офлайн

#2 Авг. 2, 2011 19:30:09

Infernus
От:
Зарегистрирован: 2011-06-04
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Доступ переменной вне условия

Что значит “как её получить”? При выполнении условия if messageFrom == ‘mrim.jabber.ru’ print'ом будет выведено значение messageForm в случае выполнения условия messageBody == ‘_sms’, либо '' в случае невыполнения. Собственно, это очевидно. Не совсем понятно, что вы имеете в виду.



Офлайн

#3 Авг. 2, 2011 19:32:26

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Доступ переменной вне условия

messageClientFrom = str(messageFrom)
?



Офлайн

#4 Авг. 2, 2011 19:53:24

free_kode
От:
Зарегистрирован: 2011-07-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Доступ переменной вне условия

Первое условие по любому будет выполнено, поэтому переменная messageClientFrom точно должна иметь значение, а оказывается на оборот, во втором условии она пуста



Офлайн

#5 Авг. 2, 2011 20:02:08

Infernus
От:
Зарегистрирован: 2011-06-04
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Доступ переменной вне условия

Я прогнал ваш код у себя (убрав вызов smSend() и инициализировав в начале messageFrom и messageBody) — всё нормально.
Вы в какой IDE пишете? Если есть возможность, прогоните через дебаггер, установив breakpoint'ы, и посмотрите на значение переменных.



Отредактировано (Авг. 2, 2011 20:02:37)

Офлайн

#6 Авг. 2, 2011 20:14:57

free_kode
От:
Зарегистрирован: 2011-07-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Доступ переменной вне условия

Все ок, я пропустил, функция вызывается несколько раз, и поэтому перменная удаляется согласно первой строке.
Придется делать ее глобальной=\



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version