Проблема не в модуле pickle, а в строке, которая гласит:
all_posts = previous_posts.extend(current_posts)
На самом деле происходит то, что вызывается метод extension , расширяющий предыдущие_позиции на месте, который один разоно успешно завершено, возвращает ключевое слово Нет .
Затем это ключевое слово присваивается all_posts вместо содержимого предыдущих_постов, а затем записывается в файл.
Попробуйте изменить его следующим образом:
if new_post_count > 0:
file_name = 'all_posts' + user
previous_posts = pickle.load(open(file_name, 'rb'))
current_posts = get_posts(client, user, start_from_posts=0, total_posts=new_post_count)
previous_posts.extend(current_posts)
f = open(file_name, 'wb')
pickle.dump(previous_posts, f)
f.close()
Еще лучше включить предложение Жана-Франсуа:
if new_post_count > 0:
file_name = 'all_posts' + user
with open(file_name, 'rb') as f:
previous_posts = pickle.load(f)
current_posts = get_posts(client, user, start_from_posts=0, total_posts=new_post_count)
previous_posts.extend(current_posts)
with open(file_name, 'wb') as f:
pickle.dump(previous_posts, f)