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

TGINSIGHT SIMILAR POSTS

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

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

Можно ли в Python создавать бинарные файлы? Конечно можно. Для этого в Python есть следующие инструменты: ▫️ тип данных bytes и bytearray ▫️ открытие файла в режиме wb (write binary) или rb (read binary) ▫️ модуль struct Про модуль struct поговорим в первую очередь. Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных. В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла. Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла. Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид. Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки). Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение. При этом следует помнить что мы говорим о типах языка С а не Python. Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще. Вот какие токены формата у нас есть. Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы. В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты. Запакуем в байты простое число, токен "i". >>> import struct >>> struct.pack('=i', 10) b'\n\x00\x00\x00' Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов. >>> struct.pack('=fff', 1.0, 2.5, 4.1) b'\x00\x00\x80?\x00\x00 @33\x83@' Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же. >>> struct.pack('=3f', 1.0, 2.5, 4.1) b'\x00\x00\x80?\x00\x00 @33\x83@' Теперь запакуем разные типы >>> data = struct.pack('=fiQ', 1.0, 4, 100500) я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт) b'\x00\x00\x80?\x04\x00\x00...' Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа. >>> struct.unpack('=fiQ', data) (1.0, 4, 100500) Как видите, ничего страшного! #lib#basic

Hashtags

Резултати

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

Пребарај: #part1fall2020

当前筛选 #part1fall2020清除筛选
DLS — новости

@deep_learning_school_news · Post #249 · 07.02.2021 г., 10:38

#part1fall2020 Решили продлить дедлайн по проектам первой и второй частей на неделю (раз мы все равно пока проверяем домашки) Деллайны скоро обновятся и на Степике. Если вы уже послали проект в форму, согласуйте с руководителем проекта формат досдачи.

DLS — новости

@deep_learning_school_news · Post #246 · 04.02.2021 г., 14:40

#part1fall2020 Добрый вечер! Обращаемся к тем, кто сейчас заканчивает первую часть курса. Мы уже делали опрос о промежуточных итогах курса. Теперь, когда все занятия уже выложены, очень просим вас пройти финальный опрос. Напишите ваши самые важные мысли по занятиям в текстовые поля. Нам очень важен ваш фидбек, чтобы сделать курс лучше. Если по некоторым занятиям вам сказать нечего, это не страшно, далеко не все вопросы обязательные. Заранее спасибо!

DLS — новости

@deep_learning_school_news · Post #245 · 27.01.2021 г., 12:42

#part1fall2020 Мы выложили на Степик ещё несколько дополнительных модулей для обоих потоков! Среди прочего там есть лекции от компании Яндекс, а также лекция от Kaggle-мастера Владислава Шахрая о том, как побеждать в конкурсах по анализу данных. Смотрим!

DLS — новости

@deep_learning_school_news · Post #242 · 06.01.2021 г., 23:47

#part1fall2020 Всем привет! Как те, кто был на вебинаре, уже знают, мы решили перенести дедлайн по выбору итоговых проектов на 10 января. Срок выполнения проектов мы продлеваем до 7 февраля, 23:59. Срок выполнения последнего домашнего задания для продвинутого потока продлён до 17 января, 23:59 Кроме того, для тех, кто уже зарегистрировался, мы выкладываем список назначенных проектов. Заходите в соответствующий чат в Slack и начинайте работу! Почти во всех чатах уже появилась вступительная информация к выполнению. Тем, кто ещё не выбирал проекты, советуем поскорее определиться и заполнить форму. Предлагаем вам записываться на один проект и сразу начинать работу по нему, чтобы не ждать результатов распределения

DLS — новости

@deep_learning_school_news · Post #241 · 04.01.2021 г., 16:42

#part1fall2020 Всем привет! Напоминаем, что через 20 минут состоится трансляция с ответами на вопросы о последних занятиях курса и итоговых проектах. Вопросы можно задать в комментариях к предыдущему посту в этом канале, а также во время трансляции в чате youtube. Ссылка на трансляцию

DLS — новости

@deep_learning_school_news · Post #240 · 03.01.2021 г., 14:34

#part1fall2020 Всем привет! Завтра в 20:00 мы проведём вебинар по последним темам курса, а также про выполнение итогового проекта. Ссылка на вебинар появится здесь. Вы можете задать волнующие вас вопросы к вебинару в комментариях к этому посту или на самом мероприятии

DLS — новости

@deep_learning_school_news · Post #238 · 02.01.2021 г., 01:45

#part1fall2020 Всем привет! На Stepik появилось много всего интересного: например, новые модули у базового и продвинутого потоков, которые помогут вам выполнить итоговые проекты, а также сама новость об итоговом проекте (в последнем модуле курса) Кроме того, мы создали в Slack чаты для выполнения проектов. После регистрации на проекты обязательно выбирайте чат с вашей тематикой и вступайте. Напоминаем, что дедлайн по регистрации на проекты — вечер 5 января

DLS — новости

@deep_learning_school_news · Post #234 · 24.12.2020 г., 10:52

#part1fall2020 Всем привет! Вслед за проектами второй части, выкладываем долгожданную информацию о заключительных проектах курса на первой части! Все необходимые сведения есть в текстовом документе. Для записи на проект обязательно заполните форму регистрации.

DLS — новости

@deep_learning_school_news · Post #230 · 13.12.2020 г., 02:14

#part1fall2020 Всем привет! Хотим рассказать о том, как будет устроено окончание семестра для базового и продвинутого потоков. — У базового потока появилось новое домашнее задание. Дедлайн по нему: 31 декабря 23:59:) — У продвинутого потока появился новый модуль по детекции. Впереди у базового и продвинутого потоков будет ещё по одному домашнему заданию, дедлайн у которого будет уже в январе. Также обоим потокам предстоит выполнение итогового проекта. Темы проектов будут известны в ближайшее время: мы надеемся, что успеем сфорировать полный список в середине следующей недели. После публикации списка тем у вас будет чуть больше недели, чттобы выбрать тему проекта. Выполнение проектов продлится до второй половины января. Всем хорошего окончания курса! Скоро мы напишем о предварительных порогах для получения дипломов.

DLS — новости

@deep_learning_school_news · Post #223 · 30.11.2020 г., 22:34

#part1fall2020 Позади осталась большая часть курса! В связи с этим мы хотели бы спросить ваше мнение о пройденном материале: что вам понравилось, что не понравилось, какие темы были легкими, какие — сложными. Пожалуйста, заполните анкету по ссылке. Это очень поможет нам сделать курс лучше в следующие запуски. В том числе нам ценно мнение тех, кто по какой-то причине курс не закончил.

DLS — новости

@deep_learning_school_news · Post #218 · 24.11.2020 г., 12:48

#part1fall2020 В связи с событиями во Владивостоке (полгорода без света), решили подвинуть дедлайн по домашнему заданию "Решение ML-задачи и Kaggle" на базовом потоке слегка вперёд. Теперь мягкий дедлайн — 28.11, жёсткий — 01.12.

DLS — новости

@deep_learning_school_news · Post #212 · 18.11.2020 г., 09:53

#part1fall2020 Всем привет! Выложили новые модули для базового и продвинутого потока, а также домашнее задание для продвинутого потока. Дедлайн домашнего задания — 3 декабря. Задание снова представляет собой контест на Kaggle.com. Советуем приступать к выполнению заранее. Для базового потока на этой неделе домашнего задания не будет, зато будет на следующей неделе.

ПретходнаСтраница 1 од 3Следна