免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1831 | 回复: 3
打印 上一主题 下一主题

请教一个大数组问题,急!在线等 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-12 21:27 |只看该作者 |倒序浏览
我有一个文件400多M 里面是13452*13452的一个数字矩阵 也就是13452行13452列 一行中数字之间是tab隔开 现在我想把这个文件读到数组中 但是大概读到3000多行的时候 就挂了 请问应该如何解决 我的机器是4g内存 32位系统 以下是我的代码:
_L1 = [[0 for col in range(13496)] for row in range(13496)]
_L1file = open('distanceCMD.function.txt')
while (i<13496):
print "i="+str(i)
_strlf = _L1file.readline()
_strlf = _strlf.split('\t')
_strlf = _strlf[:-1]
_L1[i] = _strlf
del _strlf
i += 1
_L1file.close()

错误代码:
MemoryError:
File "D:\research\space-function\ART3.py", line 29, in <module>
_strlf = _strlf.split('\t')

论坛徽章:
0
2 [报告]
发表于 2010-03-12 23:09 |只看该作者
本帖最后由 luffy.deng 于 2010-03-13 06:31 编辑

不知道为什么要把这么多数据全读入内存,按行处理,结果写到另一个文件里不行么?

论坛徽章:
0
3 [报告]
发表于 2010-03-13 09:55 |只看该作者
本帖最后由 luffy.deng 于 2010-03-13 10:01 编辑

array和struct模块不知道能不能解决这个问题。

论坛徽章:
0
4 [报告]
发表于 2010-03-15 14:19 |只看该作者
本帖最后由 starfuck 于 2019-11-26 23:34 编辑












您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP