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 слични објави

Пребарај: #onto

当前筛选 #onto清除筛选
English Speakers

@English_Speakers · Post #3541 · 10.08.2018 г., 03:32

Important Five: Common Errors in the use of Prepositions 1) For #Days#, we use 'On', For Dates, we use 'On', For months we use, 'In', For seasons we use 'In', For a particular time, we use 'At'. For morning and evening, we use 'In'. For night, we use# 'At'.# #At:# at 7 o'clock; at midday; at dinner; at Christmas #In:# in the evening; in Easter week; in September; in (the) winter; in 1864; in the 20th century #On:# on Friday; on April 1st; on Christmas Day #Incorrect:# My brother completed the project in a month’s time. #Correct:# My brother completed the project in a month. #Incorrect:# We love to visit the nearest market on Sunday. #Correct:# We love to visit the nearest market on #Sundays.# 2)The verbs lack, approach and enter are directly followed by objects without prepositions. Other verbs that do not normally take prepositions are: discuss, marry and resemble. #Incorrect:# Although my sister is intelligent, she lacks of confidence. #Correct:# Although my sister is intelligent, she# lacks confidence.# #Incorrect:# The train is now approaching to my city. #Correct:# The train is now #approaching my city.# #Incorrect:# The boys were not allowed to enter into the house. #Correct:# The boys were not allowed to #enter the house.# 3) The prepositions #in# and #on# are used to show position. To say where things are going, we use #into# and #onto.# #Incorrect: #The ball rolled slowly in the goal. #Correct:# The ball rolled slowly# into# the goal. #Incorrect:# She ran in the room crying. #Correct:# She ran #into# the room crying. 4) We use #in# to say how soon something will happen. #Within# means ‘inside’ or ‘not beyond’. #Incorrect:# The train will arrive #within# six minutes. #Correct:# The train will arrive# in# six minutes. #Incorrect#: You need to complete this book in a month. #Correct:# You need to complete this book within a month. #Incorrect:# If you don’t live by your income, you will have to pay huge debts. #Correct:# If you don’t live# within# your income, you will have to pay huge debts. 5) #Through# is used for movement in a three-dimensional space. #Incorrect:# The ball went #to# the window and fell on the ground. #Correct#: The ball went #through# the window and fell on the ground.