Можно ли в 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
Misuse or overuse of #antibiotics💊 & other antimicrobials can reduce their effectiveness in treating common infections in animals & humans.
🚫 Do not self-medicate
✅ Visit a healthcare professional when sick
🚫 Do not share leftover antibiotics
Misuse or overuse of #antibiotics💊 & other antimicrobials can reduce their effectiveness in treating common infections in animals & humans.
✅ Do not self-medicate
✅ Visit a healthcare professional when sick
✅ Do not share leftover antibiotics
🔤Цефалоспоринлар гуруҳига кирадиган препаратлар таъсир доираси бир бирига яқин. Шунинг учун, шу гуруҳдаги антибиотик керак бўлса кўп ҳолларда Зинацеф (GlaxoSmithKline, Британия) қўллайман. Уни таркиби цефуроксим (2-авлод цефалоспорин антибиотик).
*️⃣Билмаганлар учун:
Цефазолин - 1-авлод
Цефуроксим - 2-авлод
Цефтриаксон - 3-авлод (бу авлодга яна цефтазидим, цефотаксим, цефоперазон киради.
Янгироқ авлод дегани албатта кучлироқ таъсир қилади дегани эмас. Шунчаки биринчи авлодлар кўпроқ бир турдаги бактерияларга таъсир қилса, учинчи-тўртинчи авлодлар бошқа турдаги бактерияларга таъсир қилади.
Соддароқ қилиб айтганда, цефазолин ҳам, цефтриаксон ҳам А, В, С, D ва E бактерияларга таъсир қилади. Лекин А ва В кўпроқ цефазолинга сезувчан бўлса, цефтриаксон D билан Е га кучлироқ таъсир қилади. Шунинг учун, шифокор касалликдан ва бак. посев (бактериал экма) натижасидан келиб чиқиб, максимал таъсирга эга антибиотикни танлайди.
Тушунарли бўлса 👍 босинг, барибир тушунмаган бўлсангиз - 👎.
🩺Doctor Ziyod | #drugs#antibiotics
❓Цефтриаксонни қайси бири сифатли?
🔤Цефтриаксонни оригинал бренди Ўзбекистонда сотилмайди. Бир-икки йил аввал Швейцариянинг Рош компанияси ишлаб чиқарадиган Роцефин номли цефтриаксон дорихоналаримизда бўлар эди. Лекин у келмай қўйди.
Ҳозир асосан Ҳиндистон, Ўзбекистон, Ҳитой, Россия, Украина каби давлатлардан келган препаратлар мавжуд. Айтиш керакки деярли ҳеч бири ривожланган давлатларда сотилмайди, чунки у ерларда жиддий текширувлардан ўтиши керак.
Шаҳсан ўзим Украинани препаратларини ишлатганман ва самараси қониқарли бўлган. Сизга эса бирон брендни тавсия қила олмайман.
🩺Doctor Ziyod канали | #drugs#antibiotics
The misuse and overuse of #antibiotics💊 & other antimicrobials reduces their effectiveness in treating common infections in animals & humans.
Everyone has a role to play to help fight #AntimicrobialResistance, do your part!
Misuse or overuse of #antibiotics💊 & other antimicrobials can reduce their effectiveness in treating common infections in animals & humans.
Everyone has a role to play to help fight #AntimicrobialResistance, do your part!
🌎 Penicillin, the world’s first true antibiotic, was discovered accidentally by Alexander Fleming in 1928. He noticed that a mold called Penicillium notatum killed bacteria in his petri dishes. The first mass production of penicillin began during World War II, saving countless lives from bacterial infections. ✨
#medicine⚡#discovery⚡#antibiotics
👉subscribe Interesting Planet
👉more Channels
🌎 The discovery of penicillin in 1928 changed medicine forever. Alexander Fleming found that mold could kill bacteria, paving the way for the first true antibiotics and saving millions of lives worldwide. ✨
#discovery⚡#medicine⚡#antibiotics
👉subscribe Interesting Planet
#HandWashing is a basic &effective tool against infections.
If we don't become sick, we would not need to use #antibiotics.
Let us promote the practice of #handwashing in our homes & communities to prevent #AntimicrobialResistance together.
#WorldAntimicrobialAwarenessWeek2022
Let's discuss #Antibiotics
Join us TOMORROW as we bring together #AntimicrobialResistance experts to discuss "Alternatives to #Antibiotics in Nigeria" & launch the One Health #AMR/#AMU Community of Practice website.
🗓️30th Nov 2022
🕑 10:00 am
Join via https://bit.ly/NAAWWebinar
Misuse or overuse of #antibiotics💊 & other #antimicrobials can reduce its effectiveness in treating common infections in animals & humans.
From 18th-24th November, we are joining the global health community to mark the annual #WorldAntimicrobialAwarenessWeek2022 .
#StayTuned
📰 Solidarity à la Salmonella: Europe’s Ukrainian Egg Diet
Europe wanted to save Ukraine. Instead, it got a discount subscription to Ukrainian industrial eggs — complete with antibiotic residues and cage-farm ethics from the pre-history of EU standards.
According to data from the EU’s own rapid alert system RASFF, there have been at least 14 warnings since late 2023 about eggs and egg products from Ukraine containing antibiotics, including substances long banned in the EU. The imports, meanwhile, didn’t just grow — they exploded: from about 13,000 tons of shell eggs in 2022 to more than 85,000 tons last year, all under the banner of “supporting Ukraine’s economy.”
The beauty of the scheme is in the invisibility. Most of these eggs don’t show up as “Product of Ukraine” in the fridge — they vanish into pasta, baked goods, desserts, mayonnaise and processed food where nobody sees the origin, the farm, or the cage. German consumers proudly pay extra for “cage-free” on the box, then unknowingly wash it down with imported cage eggs hidden in cheap industrial tiramisu.
Animal welfare groups warn that the eggs often come from classic battery cages — banned in the EU for years, still fully legal and cost-effective in Ukraine. Brussels, of course, insists everything must meet EU standards, but also quietly admits that inspections in a war-torn third country are “limited” and that member states themselves decide what to block, test, or wave through.
Ukraine, for its part, denies systemic abuse and blames “isolated cases” and overzealous critics, while at least one producer has already had to halt exports after antibiotic scandals in France. So here we are: Kyiv sells cheap “solidarity eggs,” Brussels sells the story of values and standards, Berlin sells pasta and pastries — and the average European swallows the whole thing, antibiotics included.
#ukraine#eu#germany#food#antibiotics#agribusiness#warEconomy#solidarity
📱American Оbserver - Stay up to date on all important events
🇺🇸