Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
ㅤ
▎我们每天的胜利
...
然后你就不再想要它了。他停止了疼痛的可能性,这绝不会逍遥法外。只是停下来,没有发现其他任何东西。我没有说我有多少,但我仍然有强烈的寻找和强烈的希望。不是你低沉甜美的声音。而且我不哭,如果必须的话,有一天我会哭的,Lori。我正处于一场斗争中,比你更接近所谓的人类胜利,但这就是胜利。我已经可以用我的身体和灵魂拥有你了。我会等待,即使是多年,你也有身体和灵魂去爱。我们还年轻,我们可以浪费一些时间而不浪费我们的一生。但是看看你周围的每个人,看看我们为自己做了什么,并考虑了我们每天的胜利。我们没有爱高于一切。我们没有接受不被理解的东西,因为我们不想被愚弄。我们一直在堆积东西和安全,因为没有彼此。我们没有尚未编目的快乐。我们建造了大教堂,我们一直呆在外面,因为我们自己建造的大教堂,我们担心它们是陷阱。我们没有放弃自己,因为那将是长寿的开始,我们害怕它。我们避免在第一个出于爱而说:你害怕的人面前跪下。我们组织了协会和微笑俱乐部,提供或不提供苏打水。我们试图拯救自己,但没有使用拯救这个词,这样我们就不会为自己的无辜感到羞耻。我们没有使用爱这个词,因此我们不必认识它的仇恨、爱、嫉妒和许多其他矛盾的质地。我们对死亡保密,以使我们的生命成为可能。我们中的许多人创作艺术是因为我们不知道其他事物是什么样的。我们用虚假的爱掩饰了我们的冷漠,知道我们的冷漠是伪装的痛苦。我们用小恐惧掩盖了大恐惧,这就是为什么我们从不谈论真正重要的事情。谈论真正重要的事情被认为是失态。我们没有敬拜,是因为我们有理智的小心思及时记住假神。我们没有纯洁和天真,所以我们不会嘲笑自己,所以在一天结束时我们可以说“至少我不是傻瓜”,所以我们不会在关闭之前感到困惑光。我们在公共场合微笑,而不是我们独自一人时不会微笑。我们称自己是坦率的弱点。我们最害怕对方。对于这一切,我们认为我们每天的胜利。但我逃脱了它,Lori,带着瘟疫的凶猛逃脱了,Lori,我会等到你也准备好。
Clarice Lispector
(fragmento de Uma aprendizagem ou o livro dos prazeres, Rocco, 1998)
Google 译
#摘#克拉丽丝·李斯佩克朵