Найти - Пользователи
Полная версия: Почему reader.readline() не корректно работает?
Начало » Python для новичков » Почему reader.readline() не корректно работает?
1
kmvpython
Добрый день.
Есть код:

hh = 1
while True:
print(hh)
line = await reader.readline()
print(hh)
if not line:
break
else:
print(f'{line}')
print(hh)
hh = hh + 1
print('close')
writer.close()

Код печатает значение переменной hh.
Потом читает line = await reader.readline()
Печатает значение переменной hh
Потом проверяет наличие данных в line
Если данных нет, то выход из цикла, если есть то печатает значение line
Потом печатает значение переменной hh.
Потом увеличивает счетчик и повторяет цикл заново.

Выяснилось следующее: когда в line заканчиваются данные await их все равно ждет, но так как их там больше нет и не будет соединение зависает.

Почему такой пример в документации на сайте docs.python.org указан как рабочий, а у меня не работает?
PEHDOM
kmvpython
Почему такой пример в документации на сайте docs.python.org указан как рабочий, а у меня не работает?
не смог найти такой пример на сайте, можете дать полную ссылу?

.
kmvpython
line = await reader.readline()
выражение после await должно быть awaitable объектом. подробнее тут https://docs.python.org/3/library/asyncio-task.html#asyncio-awaitables
вы уверены что ваш reader(.readline()?) являеться таковым?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB