Сериализация простого класса в одну строку в файле - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть очень простой класс Python, называемый Post, в котором всего 3 строковых поля: author, timestamp и content.

Я хочу сериализовать кучу этих объектов в файл, поэтому я попробовал Pickle, ноиспользует 3 строки на файл, и я хочу просто перебрать каждую строку файла и преобразовать 1 строку в 1 объект Post.

Какой простой способ сериализовать их в одну строку каждая?

1 Ответ

0 голосов
/ 19 ноября 2018

Один из способов сохранить ваши объекты - это строки CSV-файла.Каждая строка CSV-файла будет содержать три разделенных запятыми значения для автора, отметки времени и содержимого.Взгляните на библиотеку csv:

https://docs.python.org/3/library/csv.html#csv.writer

Вы можете в конечном итоге сделать что-то вроде этого (не проверено):

posts = [   Your Posts array   ]

with open('posts.csv', 'w', newline='') as csvfile:
    fieldnames = ['author', 'timestamp', 'content']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    for p in posts:
        writer.writerow({'author': p.author, 'timestamp': p.timestamp, 'content' : p.content})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...