Можно ли в 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
⚖ В дополнение к предыдущему посту, делюсь образцами motion, которые используются в США:
1. Motion to dismiss - это ходатайство о прекращении судебного процесса. Такой motion может быть подан, если истец не имеет права на предъявление иска, если иск не соответствует требованиям формы или содержания, или если иск был предъявлен после истечения срока исковой давности.
2. Motion for summary judgment - это ходатайство о резолютивном решении, которое может быть подано любой из сторон в процессе. Суть такого motion заключается в том, чтобы убедить суд в том, что все необходимые факты и доказательства в данном деле уже известны, и что их интерпретация не допускает иного вывода, кроме того, который предлагает подавец motion. Если суд одобрит motion for summary judgment, то это может привести к прекращению судебного процесса без необходимости проведения полноценного судебного разбирательства.
3. Motion to compel discovery - это ходатайство о принуждении на предоставление доказательств. Если одна из сторон не предоставляет необходимых доказательств, то другая сторона может подать такой motion, чтобы вызвать ее к ответу.
4. Motion for continuance - это это ходатайство о переносе даты судебного заседания. Такой motion может быть подан, если одна из сторон не готова к разбирательству в заявленную дату.
5. Motion in limine - это ходатайство о предварительном исключении доказательств или установление определенных правил в отношении представления доказательств на судебном процессе. Например, такой motion может быть подан для того, чтобы запретить сторонам использовать определенные доказательства или для того, чтобы установить правила касательно способа представления доказательств.
6. Motion for reconsideration - это ходатайство о пересмотре судебного решения. Такой motion может быть подан, если сторона не согласна с решением суда и хочет, чтобы суд пересмотрел свое решение на основании новых доказательств или аргументов.
7. Motion to quash - это ходатайство об отмене судебного приказа. Такой motion может быть подан, если сторона не согласна с приказом суда и хочет, чтобы суд отменил его.
8. Motion for sanctions - это ходатайство о наложении санкций на сторону, которая нарушила правила судебного процесса. Например, такой motion может быть подан, если сторона не предоставляет необходимые доказательства или если она злоупотребляет правом на подачу многочисленных ходатайств.
Это только некоторые из наиболее распространенных типов motion в американском праве. Каждый конкретный судебный процесс может иметь свои особенности и требования в отношении подачи и рассмотрения motion.
#uslaw, #motion
✍ Тут вчера мне написали с просьбой объяснить, что такое motion. Motion - это американская правовая концепция нежели английская. Но в любом случае, я постараюсь объяснить вкратце что это.
🇺🇸 В американском праве термин "motion" обычно относится к формальному запросу, который предъявляется суду в ходе судебного процесса.
📝 Motion может быть подан любой стороной в процессе (например, истцом, ответчиком или третьей стороной) и может быть связан с различными вопросами, например, с требованием о разрешении какого-либо вопроса до начала судебного процесса, или с требованием о прекращении процесса, а также с запросом на изменение судебного решения.
🗂 Существует множество различных типов motion, которые могут быть поданы в судебном процессе, включая motion to dismiss (запрос на прекращение судебного процесса), motion for summary judgment (ходатайство о резолютивном решении), motion for continuance (запрос на перенос даты судебного заседания), motion to compel discovery (запрос на вынуждение предоставления доказательств) и многие другие.
#motion, #uslaw
The Magnitsky Act, signed into law by President Obama who on 14 December 2012, punishes Russian officials involved in human rights abuses and corruption. It freezes their US assets and bans them from entering the US. The law is named after Sergei Magnitsky, a Russian lawyer who died in prison after exposing government fraud.
🇺🇸⚖️🇷🇺
[Read more]
@googlefactss#MagnitskyAct#HumanRights#USLaw
🇺🇸⚖️First Guilty Plea Under TAKE IT DOWN Act for AI-Generated Abuse
A U.S. defendant, James Strahler II, pleaded guilty to violating the TAKE IT DOWN Act after creating AI-generated nonconsensual intimate images to threaten individuals. The case marks the first conviction under the law.
U.S. Attorney Dominick Gerace II stated that authorities will pursue enforcement against the creation and distribution of AI-generated intimate images without consent, emphasizing the use of available legal tools to address harassment and intimidation involving such content.
#AIRegulation#AIlaw#OnlineAbuse#Deepfakes#USlaw
У меня с прежней работы в American Bar Association (2003 - 2005) от моего бывшего босса Бена Рида осталась такая книжка 1994 года издания. Книжка устарела, но концепции нет. Поставил на стол, чтобы когда надо чтобы мозг отдохнул, читать оттуда и освежить мозг.
#uslaw#angloamericanlaw#civilprocedure
Child marriage remains legal in 34 U.S. states, with some setting no minimum age. Over 314,000 minors were married in the last two decades, mostly girls to adult men. Efforts to ban it face ongoing political resistance. 🚨👧💍
The highest rates of child marriage in the United States are found in Texas, Florida, Kentucky, North Carolina and Alabama.
[Read more]
@googlefactss
#ChildMarriage#HumanRights#USLaw#GenderEquality#SocialJustice#ChildrensRights
🚀 CFTC and DOJ Legal Actions Could Influence Future of Prediction Markets
The Commodity Futures Trading Commission (CFTC) and the Department of Justice (DOJ) have initiated legal proceedings against the states of Arizona, Connecticut, and Illinois concerning their actions against CFTC-registered prediction markets. According to NS3.AI, a recent 2-1 ruling by the Third Circuit Court upheld an injunction preventing New Jersey from applying its gambling laws to Kalshi, a prediction market platform. The court determined that Kalshi's contracts related to sports events are classified as swaps under the Commodity Exchange Act, thereby falling under the exclusive jurisdiction of the CFTC. This legal dispute has the potential to significantly influence the regulatory framework for decentralized prediction markets and crypto-native derivatives across the United States.
#CFTC#DOJ#PredictionMarkets#Kalshi#CommodityExchangeAct#Regulation#CryptoDerivatives#USLaw#LegalActions#DecentralizedFinance
Online Lecture on the Parliamentary System of the United Statesat Green University
📚First-year law students participated in an online lecture dedicated to the parliamentary system of the United States. The session focused on its structure, functions, and distinctive features.
🎙Guest Speakers:
🔵Diyorbek Sattarov — Master’s graduate of the University of Pennsylvania, currently gaining practical legal experience in the United States.
🔵Navruzbek Tilaboev — Master’s graduate of the University of Illinois, currently gaining practical legal experience in the United States.
🔅The lecture provided valuable insights into the U.S. system of governance and was followed by an engaging discussion that encouraged critical thinking among students.
#LawStudents#OnlineLecture#USLaw#LegalEducation#Governance#AcademicLife#GuestLecture#GreenUniversity __________________
Green University'daAQShning parlament tizimi bo‘yicha onlayn ma’ruza
📚Huquqshunoslik yo‘nalishining 1-bosqich talabalari AQShning parlament tizimiga bag‘ishlangan onlayn ma’ruzada ishtirok etdilar. Ma’ruza davomida ushbu tizimning tuzilishi, funksiyalari va o‘ziga xos jihatlari yoritildi.
🎙Ma’ruzachilar:
🔵 Diyorbek Sattarov — Pensilvaniya universiteti magistri, hozirda AQShda huquq sohasida amaliy faoliyat olib bormoqda.
🔵Navruzbek Tilaboev — Illinoys universiteti magistri, hozirda AQShda huquq sohasida amaliy faoliyat olib bormoqda.
🔅Ma’ruza talabalarning AQSh boshqaruv tizimi haqidagi bilimlarini boyitdi hamda tanqidiy fikrlash va faol muhokama muhitini shakllantirdi.
#HuquqTalabalari#OnlaynMa’ruza #AQShHuquqi#HuquqiyTa’lim #Boshqaruv#AkademikHayot#GreenUniversity
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube