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

Резултати

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

Пребарај: #hardware

当前筛选 #hardware清除筛选

#WTF#Hardware 新装一台NAS,装这些东西进去是不是有些overkill了... --------------- 上: SanDisk CloudSpeed Eco 大船灵车盘 (90%以上寿命) 1.92TB,用于(相对机械盘来说的)快速读写需求 中: Mikrotik CCR2004-1G-2XS-PCIe 路由器网卡 (2个25Gbps光口,1个1Gbps电口),用于高速网络和OSPF、Zerotier的offloading 下: Intel Optane Memory M10 (灵车来源,但是全新) 32GB,用于ZFS ZIL写日志 // 这个新NAS升级替换的是旧NAS。 // 而这个旧NAS更是灵车中的灵车: // 300块钱的星际蜗牛4盘位J1900 NAS // 看起来还得将灵车漂移进行到底。

TRN

@translatedrussiannews · Post #43289 · 29.03.2026 г., 10:30

🌕YouTuber Scott Manley “landed” on the Moon using an ancient ZX Spectrum — a computer weaker than a modern phone charger, yet still capable of humiliating your work laptop in Kerbal Space Program. While humanity is preparing missions with supercomputers, the enthusiast proved that 48 KB of memory is enough — provided you have patience and a bit of Python held together with duct tape. 🖥️ In the end, it turned out that you do not actually need to fly to the Moon. It is enough to launch an emulator and remind yourself that, back in the 1980s, people were doing more with less than you are today with Wi-Fi and deadlines. #space#hardware Original Post Follow TRN👈

#转发#WTF#Hardware 低端复刻版黑莓: Blackevery F9900 Android 13 紫光展锐 SC9863A (8x A55 @ 1.6GHz) 3GB RAM + 32GB Flash 支持存储卡扩展(SIM/SD三选二卡槽) 2.86寸 720x540 两点触摸屏幕 2M前摄 5M后摄自动对焦 2600mAh电池 Type-C USB、3.5mm耳机孔 // 这配置几乎是新一代Android山寨机...

Protraktor

@protraktor · Post #176 · 30.01.2026 г., 11:40

Давно красивое, но "левое" не кидал. Обожаю этот механический таймер, пока заводишь — лепесток выползает из щели, затем со временем заползает обратно и звенит. Офигенный дизайн-подход — прост как пять копеек, надежность механики и вдохновление отображения (я так думаю) цифрой. Ещё и стоит какие-то копейки. Видео работы: https://www.youtube.com/watch?v=3xMnAcp-H8s Увидел в блоге одиночного яхтсмена, использует для микросна. А сам продукт вот: https://www.tfa-dostmann.de/en/product/analogue-kitchen-timer-puck-38-1028/ #inspiration#hardware#minimal

#转发#Hardware#RaspberryPi https://youtu.be/Jm8RiqAdHQE // 树莓派 Zero 2w 评测 // TL;DR: // CPU 1.0GHz 可超频到 1.3GHz // 不超频时性能接近 Pi 3 // 512MB RAM (更大的SiP里塞不下) // 默认是32位桌面系统,超频后很流畅 // 开机内存占用约 90MB // Chrome 看油管甚至能 720p60 // 2.4GHz WiFi + 蓝牙 // 两个MicroUSB // 其中一个USB仅供电 (5v 0.25A) // MiniHDMI // 基本上和 Pi Zero 在外形规格上一样

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