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

Резултати

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

Пребарај: #internetarchive

当前筛选 #internetarchive清除筛选
403 Forbidden

@forbid_403 · Post #401 · 08.09.2024 г., 13:07

Internet Archive 上诉失败:法院判决 IA 的数字借阅行为不符合 fair use。 - Internet Archive 在 2020 年左右发布 Open Library 项目,按纸质书籍的保有数量 1:1 向用户提供数字扫描版本借出服务。 - COVID-19 流行时期间,IA 放宽了借阅政策,发布 National Emergency Library 项目,这个项目取消了 1:1 借出的限制。 - National Emergency Library 项目后,书籍发行商起诉 IA,认为这两个项目侵犯自身著作权。 theverge.com/~ #InternetArchive#Copyright

耕读频道

@iGengdu · Post #126 · 11.05.2024 г., 09:48

#英文#外文#电子书#搜索#网站 学术网站监测: https://open-slum.org/ ; https://www.ooopn.com/tool/scihub/ #Anna Archive: 网址1 https://annas-archive.org/ ; 网址2 https://annas-archive.li/ ; 网址3 https://annas-archive.se/ 。 #Library Genesis: https://libgen.bz/ https://libgen.gs/ https://libgen.li/ https://libgen.la/ https://libgen.vg/ https://libgen.rs/ https://libgen.is/ https://libgen.st/ http://gen.lib.rus.ec/ https://libgen.rocks/ https://libgen.pm/ 检测LG有效性网址 。 #Zlibrary: Books: https://z-library.rs , https://z-library.do , z-library.sk 1lib.sk z-lib.gs z-lib.fo (For Spain, Italian, France) z-lib.gl z-lib.fm z-lib.nz z-lib.gd z-lib.help Articles: https://articles.sk , https://z-lib.gs , https://1lib.sk Z-Access: https://go-to-library.sk , https://litera-library.com/search-for-books 权威发布: Zlibrary的X账号 ; https://wikipedia.org/wiki/Z-Library 官网地址公布 (Update 20240701)。 #Sci-Hub 网址1:https://sci-hub.se/ 网址2:https://sci-hub.st/ 网址3:https://sci-hub.ru/ 网址4:https://sci-hub.red/ 网址5:https://sci-hub.box/ 网址6:https://www.sci-hub.in/ 网址7:https://www.sci-hub.cat/ #InternetArchive: https://archive.org/ #Gutenberg: http://www.gutenberg.org/ 说明:个人手动收集,部分参考这里,转发请带源: https://t.me/iGengdu/126 。 📢频道✈️ 群聊 (耕读) 📬投稿