TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #242 · 7 мај

Теперь запакуем строку. В этом случае следует передавать тип данных bytes. >>> struct.pack('=s', b'a') b'a' Для записи слова следует указывать количество символов. >>> struct.pack('=5s', b'hello') b'hello' Кстати, запакованный вид соответствует исходному тексту. Всё верно, символ есть в таблице ASCII, то есть его код попадает в диапазон 0-127, он может быть записан одним байтом и имеет визуальное представление. А вот что будет если добавить символ вне ASCII >>> struct.pack(f'=s', b'ё') SyntaxError: bytes can only contain ASCII literal characters. Ошибка возникла еще на этапе создания объекта bytes, который не может содержать такой символ. Поэтому надо кодировать эти байты из строки. >>> enc = 'ёжик'.encode('utf-8') >>> struct.pack(f'={len(enc)}s', enc) b'\xd1\x91\xd0\xb6\xd0\xb8\xd0\xba' Заметьте, длина такой строки в байтах отличается от исходной длины, так как символы вне ASCII записываются двумя байтами и более. Поэтому здесь формат создаём на лету, используя получившуюся длину как каунтер токена. #libs#basic

Hashtags

Резултати

Пронајдени 2 слични објави

Пребарај: #scheduled

当前筛选 #scheduled清除筛选
djangoproject

@djangoproject · Post #92 · 11.07.2016 г., 11:59

https://docs.python.org/3/library/asyncio-dev.html#asyncio-coroutine-not-scheduled 18.5.9.6. Detect #coroutine objects never #scheduled When a coroutine function is called and its result is not passed to ensure_future() or to the BaseEventLoop.create_task() method, the execution of the coroutine object will never be scheduled which is probably a bug. Enable the debug mode of asyncio to log a warning to detect it. Example with the bug: import asyncio @asyncio.coroutine def test(): print("never scheduled") test() Output in debug mode: Coroutine test() at test.py:3 was never yielded from Coroutine object created at (most recent call last): File "test.py", line 7, in <module> test() The fix is to call the ensure_future() function or the BaseEventLoop.create_task() method with the coroutine object.