@wallcrafts_m · Post #342 · 08.12.2024 г., 10:31
#wallpaper#volcano
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
Пребарај: #volcano
@wallcrafts_m · Post #342 · 08.12.2024 г., 10:31
#wallpaper#volcano
Hashtags
@bestwallpapes · Post #3807 · 25.12.2025 г., 05:53
@Bestwallpapes #Volcano#Landscape
Hashtags
@depthwallpaper · Post #202 · 30.12.2022 г., 12:16
Hi-Res 🌋 #hres#nature#volcano
@bestwallpapes · Post #2798 · 13.08.2024 г., 08:12
@Bestwallpapes #Volcano#Colorful
@interesting_planet_facts · Post #1294 · 15.02.2026 г., 12:11
🌎 On August 24, 79 CE, Mount Vesuvius erupted violently, burying the Roman cities of Pompeii and Herculaneum in volcanic ash. This sudden eruption killed thousands and preserved entire towns under meters of ash, offering archaeologists rare insight into daily Roman life. ✨ #volcano⚡#archaeology⚡#history 👉subscribe Interesting Planet 👉more Channels
Hashtags
@Wallpaper_Prime · Post #23404 · 15.12.2025 г., 09:03
#вулкан#volcano ⭐️ «Wallpaper Prime» ⭐️
@interesting_planet_facts · Post #1079 · 27.11.2025 г., 22:11
🌎 In 1816, a year after the Tambora volcano erupted in Indonesia, much of the world experienced a “Year Without a Summer.” Temperatures dropped globally, causing widespread crop failures and food shortages. Snow fell in June in parts of North America and Europe, and some regions lost up to 75% of their harvests. ✨ #volcano⚡#climate⚡#history 👉subscribe Interesting Planet 👉more Channels
@bestwallpapes · Post #3104 · 30.11.2024 г., 12:21
@Bestwallpapes #Volcano#Lava
@interesting_planet_facts · Post #1333 · 08.03.2026 г., 12:11
🌎 A massive volcanic eruption at Lake Toba in Indonesia about 74,000 years ago was one of Earth’s largest known explosions. The eruption released so much ash that it may have triggered a global volcanic winter, cooling the planet and affecting early human populations. Its crater now forms Lake Toba, the world’s largest volcanic lake at about 100 kilometers long. ✨ #volcano⚡#catastrophe⚡#history 👉subscribe Interesting Planet 👉more Channels
Hashtags
@interesting_planet_facts · Post #803 · 23.09.2025 г., 18:11
🌎 The 1902 eruption of Mount Pelée on Martinique destroyed the city of Saint-Pierre within minutes, killing over 28,000 people. It is the deadliest volcanic disaster of the 20th century. ✨ #volcano⚡#catastrophe⚡#history 👉subscribe Interesting Planet 👉more Channels
Hashtags
@interesting_planet_facts · Post #770 · 17.09.2025 г., 20:22
🌎 The Toba supereruption in Indonesia about 74,000 years ago was one of the largest volcanic events in the last 2 million years. It ejected 2,800 cubic kilometers of material, triggered a global volcanic winter, and may have caused a dramatic human population decline, as shown by genetic studies indicating a bottleneck in human evolution. ✨ #volcano⚡#history⚡#catastrophe 👉subscribe Interesting Planet
Hashtags
@interesting_planet_facts · Post #736 · 12.09.2025 г., 18:22
🌎 The 1883 eruption of Krakatoa was one of the most violent volcanic events in recorded history. It unleashed explosive blasts heard 3,000 kilometers away, generated giant tsunamis, and ejected ash high into the atmosphere—causing global temperatures to drop and vivid sunsets worldwide for years after. ✨ #volcano⚡#catastrophe⚡#history 👉subscribe Interesting Planet
Hashtags