Я только что начал с TCP-сервера и клиентского программирования на python. Однако один из из, если заявление не работает, и это не имеет никакого смысла:Если оператор пропущен, даже оператор верен
while (1):
data = s.recv(1024)
if data == 'finish':
break
print data
print 'Finish'
, а иногда и последняя полоса будет печатать «закончить» в вместо «Finish» и не могу выйти из цикла. Этого никогда не должно было быть, потому что оператор «print data» пропускается, если data = «finish». Может ли кто-нибудь сказать мне, почему это происходит?
сохранить себя головную боль и просто сделать 'data.lower()', если вы получаете разные оболочки «финиша». – idjaw
, так как я использую c.send ('finish') на стороне сервера, поэтому данные не будут «Готово». –
Попробуйте 'print repr (data)' вместо этого, чтобы точно увидеть, что вы получаете. Может быть скрытый характер. –