Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
Today is #GivingTuesday. Remember to support your favorite working-class news outlet which brings you all the latest news of working class movements and political developments from an anti-imperialist perspective.
Help sustain Peoples Dispatch and make a one time or recurring donation here:
https://www.paypal.com/donate/?hosted_button_id=C2MBA98XT2CBC
♥️ Помогите тем, кто сегодня нуждается в нас больше всего
Сегодня — #GivingTuesday / #ЩедрыйВторник, мировой день доброты и солидарности. Это момент, когда люди по всему миру объединяются, чтобы сделать чью-то жизнь хоть немного легче.
Мы, активисты и волонтёры RADR, обращаемся к вам с просьбой помочь сегодня тем, чья боль и трудности сегодня по-настоящему огромны:
🇺🇦 украинцам, которые продолжают защищать свою страну под ежедневными обстрелами;
🕊️ российским политзаключённым и украинцам, удерживаемым в российских тюрьмах;
🔒 российским беженцам, попавшим в иммиграционные детеншены США и переживающим тяжелые испытания в условиях изоляции и неопределённости.
Ваша поддержка сегодня станет для них светом, теплом и опорой.
Активисты и волонтеры RADR ведут работу по всем этим направлениям: мы закупаем и отправляем жизненно важное оборудование украинским защитникам; поддерживаем политзаключённых, чтобы они не оставались один на один с системой; оказываем помощь беженцам, которые оказались за решёткой ради своей свободы. Эта работа возможна только благодаря людям, которые верят, что чужая беда не должна оставаться незамеченной.
И если сегодня вы сможете поддержать нас дополнительным пожертвованием, знайте:
ваша помощь дойдёт до тех, кто нуждается в ней отчаянно. Ваша помощь принесет тепло в тюремную камеру, надежду в детеншен, обернется спасённой жизнью на фронте.
Как вы можете помочь:
💛Прямое пожертвование через Zelle на [email protected] — быстрый и бесплатный способ сделать вклад.
💛Пожертвования по адресным ссылкам — FBU на дроны,FBU на гуманитарную помощь,политзаключённые,детеншены.
💛Через корпоративную платформу — многие работодатели удваивают взносы сотрудников.
💛Криптовалюта, акции или другие формы поддержки — выберите удобный способ.
Все пожертвования от налогоплательщиков США — tax-deductible. Важно: RADR признана «нежелательной организацией» в России, поэтому тем, кто ездит в РФ, стоит заботиться о своей безопасности (ссылка 1,ссылка 2,ссылка 3).
В периоды когда так много боли и несправедливости, ваше тепло помогает тем, кому оно жизненно необходимо.
This Giving Tuesday, stand with independent journalism!
As Washington intensifies efforts to undermine Venezuela’s Bolivarian Revolution, VA remains a vital voice exposing the truth, countering media propaganda, and uplifting grassroots socialist movements.
🎯 Support us today by donating at http://venezuelanalysis.com/donate to ensure our work continues!
#GivingTuesday#IndependentMedia#Venezuela