我試圖找到將一些數據附加到使用Python的json文件的最佳方式。基本上發生了什麼是我有約100線程打開存儲數據到數組。完成後,使用json.dump將它發送到json文件。然而,由於這可能需要幾個小時才能建立起來,我最終會耗盡內存。所以我試圖看看在這個過程中使用最少量RAM的最佳方式是什麼。以下是我所需要的大量RAM。在Python中追加到JSON(最好是由於RAM限制)
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')
感謝
'有效範圍內的(0,1)'空,用'null'不會被使用?這個是來做什麼的?還要注意'range(0,1)== range(1)'。 – EOL 2011-01-05 13:21:52
你的'twitter_data'實質上等同於一個列表。爲什麼不用列表來代替?這肯定會消耗更少的內存。 – EOL 2011-01-05 13:27:17