Я пытаюсь найти оптимальный способ добавить некоторые данные в файл json, используя Python. В основном происходит примерно 100 потоков, которые хранят данные в массиве. По завершении они отправляют это в файл json, используя json.dump. Однако, поскольку это может занять несколько часов для создания массива, я в конечном итоге заканчивается ОЗУ. Поэтому я пытаюсь понять, как лучше использовать минимальный объем оперативной памяти в этом процессе. Вот то, что у меня есть, что потребляет много оперативной памяти.
i = 0
twitter_data = {}
for null in range(0,1):
while True:
try:
for friends in Cursor(api.followers_ids,screen_name=self.ip).items():
twitter_data[i] = {}
twitter_data[i]['fu'] = self.ip
twitter_data[i]['su'] = friends
i = i + 1
except tweepy.TweepError, e:
print "ERROR on " + str(self.ip) + " Reason: ", e
with open('C:/Twitter/errors.txt', mode='a') as a_file:
new_ii = "ERROR on " + str(self.ip) + " Reason: " + str(e) + "\n"
a_file.write(new_ii)
break
## Save data
with open('C:/Twitter/user_' + str(self.id) + '.json', mode='w') as f:
json.dump(twitter_data, f, indent=2, encoding='utf-8')
Спасибо