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

Резултати

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

Пребарај: #semarang

当前筛选 #semarang清除筛选
Gusdurian.Net

@gusduriannet · Post #2370 · 10.10.2020 г., 16:16

Penandatanganan Piagam Watugong _____________________ Hari ini perwakilan dari elemen masyarakat sipil dan tokoh lintas agama kota Semarang menandatangani "Piagam Watugong". Adapun maksud serta tujuan penandatanganan piagam yang diselenggarakan pada hari Sabtu, 10 Oktober 2020 ini adalah agar bersepaham dan berkomitmen untuk melakukan penguatan atas hal-hal sebagai berikut: 1. Penguatan nilai-nilai Pancasila, UUD 1945, Bhinneka Tunggal Ika, dan Keutuhan Negara Kesatuan Republik Indonesia. 2. Penguatan moderasi beragama dan kepercayaan terhadap Tuhan Yang Maha Esa. 3. Penguatan toleransi, solidaritas kemanusiaan, dan silaturahmi kebangsaan. Semoga dengan penandatanganan piagam hari ini, dapat lebih memperkuat lagi toleransi dan semangat kebhinekaan di Jawa Tengah terlebih khusunya di kota Semarang. Unity In Diversity 🌻 _____________ #jaringangusdurian#gusduriansemarang#semarangdamai#semarang#semarangsekarang#unityindiversity#indonesiarumahbersama#lintasagama#alirankepercayaan

Gusdurian.Net

@gusduriannet · Post #2538 · 06.04.2021 г., 02:15

Reposted from @gusduriansemarang Halo sobat GUSDURian! Selamat malam, Gusmin mau kasih kabar gembira nih. Kali ini GUSDURian Semarang bakal mengadakan Kelas Pemikiran Gus Dur (KPG) Daring #5. Kelas Pemikiran Gus Dur (KPG) merupakan kelas yang diadakan oleh Komunitas GUSDURian Semarang untuk menjaring orang-orang yang ingin merawat, meneruskan nilai-nilai, dan mewarisi pemikiran Gus Dur Sang Guru Bangsa Indonesia. Rangkaian kelas Pemikiran Gus Dur (KPG) Daring #5 ini terdiri dari: -Kelas Pemikiran -Kelas Menulis -Kelas Medsos *Seluruh rangkaian kegiatan KPG #5 Daring ini dilaksanakan pada tanggal 10 April-21 Agustus 2021 (secara daring) TIME LINE: Pendaftaran Peserta: 18 Maret - 6 April 2021 Wawancara Daring: 7 April 2021 Pengumuman Peserta: 8 April 2021 Technical Meeting: 9 April Pelaksanaan: 10 April - 21 Agustus 2021 (secara daring) Para peserta yang mendaftar wajib mengikuti seluruh rangkaian acara KPG dan memenuhi syarat & ketentuan yang berlaku. Syarat & Ketentuan: 1. Usia 19-30 tahun 2. Menulis Essay tentang Gus Dur minimal 700-1500 karakter, diketik via ms word, ukuran 12, Font Times New Roman, size A4 atau mengupload video tentang 9 nilai utama Gus Dur durasi min.5 menit. Upload di instagram dengan tag @gusduriansemarang dan dengan tagar #kpgsemarang2021 3. Bersedia mengikuti kegiatan selama kurang lebih 3 bulan secara daring. 4. Berdomisili Semarang & sekitarnya. 5. Bersedia mengikuti follow up setelah KPG berakhir. 6. Acara ini GRATIS, dan terbatas untuk 50 peserta. Segera daftarkan dirimu melalui link berikut: http://bit.ly/KPG5Semarang Atau melalui klik link yang tertera di bio ya! Narahubung: -Syafiq (UIN WS): 085869603185 -Lulu' (Unwahas) : 081338919683 -Nuhab (Unnes) : 08818669414 -Lala (Undip): 085290023210 . . @jaringangusdurian @gusdurian_uinwalisongo@gusdurianunwahas@gusdurian_unnes@gusdurian_undip _____________________________ #jaringangusdurian#gusduriansemarang#kpggusduriansmg#kpgsemarang2021#Semarang#semaranghits#kampusindonesia#kampussemarang#semarangexplore#mahasiswa#mahasiswasemarang#unityindiversity #2021 #kpgdaring#kpgonline#kelasonline#online