@beautiful_theme · Post #1514 · 19.01.2019 г., 05:01
#Hazard | @Beautiful_Theme
Hashtags
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
Пребарај: #hazard
@beautiful_theme · Post #1514 · 19.01.2019 г., 05:01
#Hazard | @Beautiful_Theme
Hashtags
@Beautiful_edit · Post #104 · 15.05.2019 г., 11:02
#Hazard 🆔@Beautiful_Edit
Hashtags
@BEauTiful_TheMe · Post #997 · 11.07.2018 г., 10:30
#profile | #Hazard ➣ @Beautiful_Edit
@beautiful_theme · Post #1870 · 26.06.2019 г., 14:32
#Hazard | #هازارد 🎗@Beautiful_edit
@Beautiful_edit · Post #147 · 25.06.2019 г., 07:41
#Hazard | #هازارد 🎗@Beautiful_edit
@Beautiful_edit · Post #52 · 06.07.2018 г., 19:08
#profile | #Hazard ➣ @Beautiful_Edit
@cosmomyst · Post #316 · 23.09.2025 г., 12:21
🪐 Asteroid (2007) FT3 is a large near-Earth object, measuring about 340 meters across, that periodically comes close enough for astronomers to classify it as potentially hazardous. Its orbit is tracked because, though it poses no immediate danger, even objects this size could cause severe destruction if they ever collided with Earth—showing why scientists keep careful watch on these silent travelers. ✨ #asteroids⚡#hazard⚡#monitoring⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries
@cosmomyst · Post #170 · 22.08.2025 г., 03:11
🪐 The asteroid (33342) 1998 WT24, about half a kilometer wide, regularly makes close approaches to Earth, coming inside the orbit of Mercury every few years due to its highly elongated path. Its size and proximity earn it the label "potentially hazardous asteroid," so NASA keeps a close eye on it to ensure its orbit remains safely predictable. ✨ #asteroids⚡#hazard⚡#monitoring⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries
@cosmomyst · Post #92 · 07.08.2025 г., 00:11
🪐 The asteroid 99942 Apophis may get the most headlines, but there are over 2,300 "potentially hazardous asteroids" tracked by NASA's Sentry system, like (410777) 2009 FD and (144898) 2004 VD17. These objects, each large enough to cause serious regional damage if they ever struck Earth, are monitored for changes in their orbits to ensure they pose no imminent threat. ✨ #asteroids⚡#hazard⚡#monitoring⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries
@cosmomyst · Post #105 · 09.08.2025 г., 13:11
🪐 The asteroid (153814) 2001 WN5, roughly 1 kilometer across, will pass exceptionally close to Earth in 2028—only about 248,000 kilometers away, closer than the Moon. Because of its size and fast approach, 2001 WN5 is classified as a "potentially hazardous asteroid," meaning it could cause regional devastation if it ever struck our planet, so astronomers track its orbit with special care. ✨ #asteroids⚡#nearEarth⚡#hazard⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries
@cosmomyst · Post #91 · 06.08.2025 г., 20:11
🪐 The asteroid (99942) 2004 MN4, known as Apophis’s “cousin,” (163899) 2003 SD220, is a mountain-sized space rock that approaches Earth’s orbit about every December. Measuring roughly 1.6 kilometers long, its close passes remind scientists how even asteroids with well-known orbits can periodically come within just a few million kilometers of our planet, earning it a spot on NASA's list of potentially hazardous objects. ✨ #asteroids⚡#hazard⚡#nearEarth⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries
@cosmomyst · Post #458 · 26.10.2025 г., 12:21
🪐 One of the most closely monitored space objects threatening Earth is the asteroid (29075) 1950 DA, a kilometer-wide rock that will come unusually close to our planet in the year 2880. What makes 1950 DA especially concerning is its "rubble pile" structure, where its surface is held together more by weak forces between its grains than by gravity, making its behavior unpredictable if its path changes—so astronomers continually track it for any shift that could bring it closer to Earth in the future. ✨ #asteroid⚡#hazard⚡#monitoring⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries 👉more Channels