Форум сайта python.su
Добрый день.
Есть код:
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 указан как рабочий, а у меня не работает?
Офлайн
kmvpythonне смог найти такой пример на сайте, можете дать полную ссылу?
Почему такой пример в документации на сайте docs.python.org указан как рабочий, а у меня не работает?
kmvpythonвыражение после await должно быть awaitable объектом. подробнее тут https://docs.python.org/3/library/asyncio-task.html#asyncio-awaitables
line = await reader.readline()
[code python][/code]
Отредактировано PEHDOM (Янв. 16, 2019 10:45:53)
Офлайн