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

Резултати

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

Пребарај: #mssqlserver

当前筛选 #mssqlserver清除筛选
MDC Uzbekistan

@mdcuzbekistan · Post #227 · 26.11.2021 г., 09:44

#dotnet#middle#MSSQLserver Applied Labs is looking for a .Net Developer Salary: $1500-3000 Location: 100% remote job, but we have an office in Tashkent, if you feel comfortable working from the office. All stages of recruitment are carried out remotely by calling a video (Zoom). You will need to have: - Proficiency in C #, .NET Framework and .NET Core; - Understanding how web protocols (HTTP, HTTPS) and REST / SOAP API work; - Knowledge of MS SQL Server, Oracle, PostgreSQL: the ability to design a database structure, write and optimize SQL queries and stored procedures; - 3+ years of work experience; - Fluency in English (verbal and written communication); - Bachelor's Degree in Computer Science, Engineering or related field or strong track record proving the equivalent level of experience; - Capability to multi-task with strong attention to detail; - Ability to work in a fast-paced, agile environment and resolving unplanned incidents quickly; - Outstanding communication skills, including the ability to effectively present information in both technical and non-technical terms and train users using non-technical terms; - Strong customer service focus; - Excellent team player skills with the ability to influence others. It would be an added bonus if you have: - Azure, Azure DevOps ; - M365 is a huge plus; - Jira and Confluence; - MS Graph API’s. We would love to see: - A sound knowledge of software engineering; - Excellent analytical skills; - Sourcing requirements from customers and suggesting appropriate solutions; - Quick generating of POC (proof of concepts) and demos; - Self-motivated, proactive, independent & responsive candidate, the specialist, who requires little supervisory attention We offer: - Flexible office policy - You can work from wherever you want or from our cozy office in Tashkent. You can even combine both - few days in the office and a few days remote; - 5/2 work week, 8 hours a day (you are expected to be available for communication between 18:00 to 23:00 Tashkent time, as you'll be working with the US team located in New York); - Official employment in accordance with Uzbekistan's Labor Laws; - Frequent team-building activities and internal hackathons; - Health insurance; - English courses; - Group exercises; - Reimbursement for sport. Send an email with your resume in English and the subject line "Data Engineer" to [email protected] To apply for this position, please feel out the application form here: https://appliedlabs.pinpointhq.com/en/jobs/32045 👉Подписаться на канал @UzDev_Jobs