Один из самых удобных способов записать данные это использование готовых форматов, такие как JSON или YAML.
Из плюсов такого подхода стоит отметить вот что:
🔸 готовый, повсеместно используемый и поддерживаемый формат
🔸 простой и понятный файл, удобочитаемый для человека
🔸 можно легко редактировать в любом текстовом редакторе без специальных программ и библиотек
Но есть и минусы
🔹 затраты времени при записи файла (кодирование данных в нужный формат строки)
🔹 затраты времени при чтении файла (декодирование данных в Python объекты)
🔹 размер файла увеличивается из-за разметки данных (скобки, запятые, переносы, отступы...)
🔹 перед записью все данные должны быть помещены в память в полном объёме (не всегда)
🔹 при чтении необходимо считать весь файл в память и только потом декодировать данные
Если нужно писать немного данных в несколько файлов, то затраты по времени не ощутимы. Обычно это файлы конфига или какие-либо метаданные. Это отличный вариант под такие задачи.
Есть и другой поход к записи файлов - это бинарные файлы. Используется, когда данных достаточно много и никто их не собирается читать глазками😳.
🔸 очень быстрая запись
🔸 чтение значительно быстрей чем JSON, YAML итд
🔸 размер файла значительно меньше, так как нет разметки
🔸 можно записывать данные по мере поступления не загружая всё в память
🔸 можно извлечь любую часть данных независимо
Из минусов
🔹 нужно определить свой формат записи данных (если не используете готовую спецификацию определённого формата)
🔹 не получится открыть файл и визуально понять что там записано, а для чтения файла потребуется знать его спецификацию.
🔹 не так-то просто создать такой файл без специальной библиотеки
В таком виде удобно записывать большой массив любых однородных данных. Например, мониторинг валютной биржи или кэшированная анимация 3D геометрии.
(Это не означает что нельзя записать данные разного типа, просто это будет не так удобно)
Представьте себе JPG-картинку. По сути это немного мета-информации и большой массив пикселей. Тоже самое со звуком или видео файлом. Поэтому, если вы попробуете открыть картинку в текстовом редакторе вы увидите что-то вроде такого
f15d cd29 a564 4578 ...
09e2 9bc4 a696 1253 ...
84e9 4de1 3b23 c24a ...
2534 5161 28e0 709d ...
...
Это и есть записанные байтики. И для их чтения требуется определённый софт который знает что с ними делать. Под каждый тип файла.
К чему это я? Читайте в следующем посте...
#tricks#basic
If you have $10 in your wallet and no debt, you have more wealth than 25% of Americans.
Not because you’re rich… but because debt has so many people buried.
A reminder that sometimes, financial peace isn’t about how much you have—
It’s about how little you owe. 💡
Stay grounded. Stay grateful ❤️
#Countries
🔔@Everything_Science
Chinese government takes its officials and members of their families on prison tours on a regular basis to give officials an introduction to what awaits them if they should engage in corruption.
The tours include meet-and-greets with former government officials who were caught for corruption.
#Countries
🔔@Everything_Science
In Finland, the official World Wife-Carrying Championships have been held since 1992. In this competition, men carry their wives as fast as possible through a long obstacle course. In the end, the winner gets a beer for his wife's weight.
#Countries
🔔@Everything_Science
🌍 Monaco is the most densely populated country on Earth, with over 25,000 people per square kilometer. This tiny city-state squeezes more residents into each square mile than anywhere else. ✨
#population⚡#density⚡#Monaco⚡#countries⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
https://django-localflavor.readthedocs.io/en/latest/
#django- #localflavor is a collection of assorted pieces of code that are useful for particular #countries or #cultures. These are called the “local flavor” add-ons and live in the localflavor package.
🇿🇦🌍South Africa is the 25th largest country in the world.
It borders Namibia, Botswana, Zimbabwe, Mozambique, Eswatini (formerly Swaziland), and Lesotho.
🌊 On the west, South Africa is washed by the Atlantic Ocean, while to the south and southeast it is bordered by the Indian Ocean.
📏 Its area is about 1.21 million sq. km — roughly twice the size of France or three times the size of Germany.
🏞 The country consists of nine provinces.
#Geography#SouthAfrica#Africa#Countries#Facts#DidYouKnow
Lesson 20 of my Uzbek self-study course with audio is here! Learn how to say countries, nationalities and languages in Uzbek. The lesson includes exercises, tables, a crossword puzzle and clear grammar explanations.
https://yep.uz/en/2025/09/lesson-20-countries-nationalities-languages-uzbek/
#uzbeklanguage#learnuzbek#uzbeklesson#languages#nationalities#countries#selfstudy#languagelearning