为什么想起来写这个呢,早上在实验室跑自己的计算程序,中午睡完午觉说过来看看结果,结果居然内存爆炸了……
思考了一下,是我中间保存的结果变量太大并且随着时间不断积累,最后导致了内存的溢出。想到一个简单的解决办法就是在计算的每个时间步长上,我把结果写入到外部的一个数据文件中,这样就能避免占用过多的内存。
Python中读写文件还是蛮方便的,感觉唯一需要注意的就是读写文件模式的选择,主要如下:
1 r 打开只读文件,文件必须存在。
2 w 打开只写文件,若文件存在,则所有内容都会被清除,如果文件不存在,则会创建改文件。
3 a 以追加的方式打开只写文件,若文件存在,内容会被添加文末,若文件不存在,则会创建文件。
4 + 让操作的文件变成读写。
5 b 以二进制形式打开文件。
以上模式可以相互组合。
然后我选择的是用csv文件保存数据,需要注意的是,选择文件模式的时候一定要把b加上,不然会导致每两行之间有一空行。
说实话,大家遇到问题是不是都上网搜一搜或者去社区提问的,今天我搜一下追加写入模式的时候,在知乎看到如下一幕,感觉好像吐槽
别人问问题是等着热心人回答的,你愿意你就好好教别人,你不愿意没人逼你,用一种嘲讽的语气对一个初学者真有快感吗?真是看到就叫人不舒服,比内存爆炸还不舒服!!!
祝大家周末愉快,O(∩_∩)O哈哈哈~