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

Резултати

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

Пребарај: #mpv

当前筛选 #mpv清除筛选
XP Digital Lab

@rocchl · Post #8092 · 23.12.2025 г., 08:43

开源播放器 mpv 0.41 发布:默认启用 gpu-next 渲染,支持精细控制 HDR 字幕亮度 开源媒体播放器 mpv 时隔 9 个月推出 v0.41 版本, 将基于 libplacebo 的 gpu-next 设为默认视频输出渲染器,正式接替了服役多年的旧版 gpu 后端。 针对不同操作系统的特性,mpv 0.41 引入了多项定制化功能: Linux 系统用户现可通过 ALS sysfs 接口让播放器读取环境光信息,进而根据周围光线动态调整画面表现。 标签:#mpv Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

在后续的学习使用的过程中,我发现了一个算是很常见的问题,在中文互联网上存在大量的“拾人牙慧”的现象 —— 把他人的曾经的经验包装为自己的原创,然后布道给小白。 我在中文互联网上查询mpv配置帖以供参考学习,其中很多都毫不意外的指向了zc62的副本,只不过署名换成了其它人的“原创”而已。另外一类常见的情况就是,一条条错误的参数或错误的使用方法被到处传播,而你换多个网址看到的“解决方案”几乎一致,当时作为菜鸡的我没有足够的判断力饶了很多弯路。 检讨自身,明明有条理清晰的官方手册我却不查(主要是懒)而依赖惯性的去问候度娘,我自己的问题也占了较大比重。我希望像我一样不是程序员的用户在接触到mpv时不会被 过分简洁的界面、无从下手设置的门道、冗长的说明手册 这些因素光速劝退,不被奇怪的过时的文章误导,于是着手开启了这一项目,并尽可能追随mpv的更新进度。 在长时间的使用体验后,我认为mpv是一个使用门槛不低的播放器,所以我不热衷于宣传( “别用垃圾pot了快用mpv” )。个性化配置好的它确实很顺手,但是配置的过程对大多数人来说可能是折磨的 —— 考虑到这一点因此有了开箱即用的懒人包,但随着后期功能的扩充,懒人包一点点变得不再那么“懒”,新用户没法像使用最初的版本那样快速理清mpv的使用思路。(就像那些适合打MOD的游戏,你满怀期待的下载了别人的几十GB的整合包却发现花里胡哨,迷失在了繁杂功能的地狱里,突然在某一瞬间感到索然无味后一键删除。)我不知道怎么解决这个问题,只能给懒人包持续扩充文档。。。有一点背道而驰的味道。 #MPV#思考#学习#教程#懒人包#搬运 原文 (狠狠共情了,我写博文也致力于不创造新的垃圾,没有新的作用和创新点,绝不搞看似原创,实则抄袭的行为 也确实很幸运在多个高质量文章的帮助下,在逐渐学习使用MPV,虽然我当初只是想找个看弹幕多的影视的方法而已😐

✈️ NextPlayer | Openlist挂载+MPV 直接播放网盘文件的视频播放器 🏷 检索标签:#NextPlayer#MPV#OpenList#WebDAV#SMB#视频#播放器#视频播放器 ⭐️ 详情介绍:NextPlayer 一款 Android 上的云盘本地播放器,支持OpenList 挂载阿里云盘、OneDrive、Google Drive、WebDAV、SMB 等几乎所有主流网盘,并交由 MPV 直接播放网盘文件,重点是本地播放、硬解、无广告、无需转码 这些字幕自动加载、外挂字幕、播放记录、自动下一集这些看片需求都有,还带 Anime4K、弹弹Play 弹幕、Emby / Jellyfin、DLNA、IPTV 等玩法 📖GitHub · 🪟Releases 下载 😌频道 |🙂群聊 |😋中文包 |☺️搜索

✈️HosPlayer | 鸿蒙 NEXT 上更顺手的 Emby/Jellyfin 客户端,mpv 硬解还能映射杜比 🏷 检索标签:#HosPlayer#HarmonyOS#鸿蒙系统#Emby#Jellyfin#mpv#播放器#视频播放器 ⭐️ 详情介绍:HosPlayer 是鸿蒙 NEXT 上的第三方 Emby、Jellyfin 客户端,如果你一直在卓易通里凑合用,不如试试HosPlayer,适合在鸿蒙设备上长期追剧又对播放器有要求的人:mpv 内核硬解、杜比映射、字幕加载更稳,再加上 弹幕、多线路、聚合搜索 这些高频需求都能一次性给你补齐 日常用起来它也考虑了多库用户的麻烦,支持 多个服务器快捷切换,还能在详情页 跨服检索 其他服务器的内容,少了很多来回跳转 注意:目前重点支持 Emby 和 Jellyfin,飞牛影视作者说将在后续计划里实现—— 📱AppGallery · 🌐TG频道 😌频道 |🙂群聊 |😋中文包 |☺️搜索