鱼C论坛

 找回密码
 立即注册
查看: 1980|回复: 11

[已解决]【Python无响应】我用Python读取了一些数据,然后Python就死了。。。

[复制链接]
发表于 2017-12-3 15:12:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 脑子 于 2017-12-3 15:31 编辑

如题。
我用Python读取了一些数据,然后Python就死了。。。
数据大概15000个,从TXT中读取。

代码如下
  1. from numpy import *

  2. def loadDataSet(fileName):
  3.     dataMat = []; labelMat = []
  4.     fr = open(fileName)
  5.     for line in fr.readlines():
  6.         lineArr = line.strip().split('\t')
  7.         m=shape(lineArr)
  8.         m=int(m[0])
  9.         dataMat.append(map(float,lineArr[0:m-1]))
  10.         labelMat.append(float(lineArr[m-1]))
  11.     return dataMat,labelMat
  12. def test():
  13.     x,y=loadDataSet('testSet2.txt')
  14.     return x,y
复制代码


运行输入:
  1. >>>test()
复制代码


然后0.5秒后卡死,显示no respondding,过个几分钟运行出来,Python上返回了提取的数据,但是碰不得,一点Python的软件页面就卡死。
想问问各位大佬怎么办,我的数据也不是太大啊,还没处理只是提取了一下软件就崩了怎么办?
求求求!急!

ps.附数据。
最佳答案
2017-12-3 17:43:28
>>>test()
把返回值直接显示在idle,会卡死。
x,y =  test()
应该用变量来接受返回值

testset2.zip

106.13 KB, 下载次数: 16

数据

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-3 15:35:51 | 显示全部楼层

回帖奖励 +10 鱼币

会不会超出Python自身编译器的能力了呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-3 15:38:56 | 显示全部楼层
像番茄加两个蛋 发表于 2017-12-3 15:35
会不会超出Python自身编译器的能力了呀

不知道啊,数据也不是太大啊,那要怎么改呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-3 16:11:13 | 显示全部楼层
楼主,我看了你的数据。你的split()分割函数是按 '\t' 来分割的,但是你看一下数据,里面有好几个数据后面是按“换行”来分割的,如“1\n”,或者看我的截图。用'\t'来分割的话,是不是会漏过这个“1”后面的“换行”,从而把“1”和后面的数据一起读取,然后在进行strip删除,把“1”和后面数据的“换行”给删除掉了。
2017-12-03_160552.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-3 16:13:03 | 显示全部楼层
LYBButterfly 发表于 2017-12-3 16:11
楼主,我看了你的数据。你的split()分割函数是按 '\t' 来分割的,但是你看一下数据,里面有好几个数据后面 ...

希望这篇博客关于 strip() 和split ()可以给楼主帮助。
http://blog.csdn.net/shenwanjiang111/article/details/48158749
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-3 17:02:01 | 显示全部楼层
LYBButterfly 发表于 2017-12-3 16:11
楼主,我看了你的数据。你的split()分割函数是按 '\t' 来分割的,但是你看一下数据,里面有好几个数据后面 ...

我使用readlines(),读取每一行,再对每一行进行分割处理,'\n'应该是没有影响的

想知道我这样写代码为什么把Python跑死了呢?和我的电脑有没有关系?



谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-3 17:43:28 | 显示全部楼层    本楼为最佳答案   
>>>test()
把返回值直接显示在idle,会卡死。
x,y =  test()
应该用变量来接受返回值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-3 18:08:31 From FishC Mobile | 显示全部楼层
SixPy 发表于 2017-12-3 17:43
>>>test()
把返回值直接显示在idle,会卡死。
x,y =  test()

>>>x,y=text()
>>>x
一显示x又卡死了
怎么办啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-3 18:20:54 | 显示全部楼层
脑子 发表于 2017-12-3 18:08
>>>x,y=text()
>>>x
一显示x又卡死了

直接显示在idle,会卡死。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-3 18:27:04 From FishC Mobile | 显示全部楼层
SixPy 发表于 2017-12-3 18:20
直接显示在idle,会卡死。

这样啊,谢谢!
请问为什么会这样呢,如果我需要显示该怎么办呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-3 18:29:32 | 显示全部楼层
脑子 发表于 2017-12-3 18:27
这样啊,谢谢!
请问为什么会这样呢,如果我需要显示该怎么办呢?

idle的bug
这么多数据你又看不过来,显示有什么意义呢
当然,你可以 用 x[:100] 显示前100个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-3 18:33:44 From FishC Mobile | 显示全部楼层
SixPy 发表于 2017-12-3 18:29
idle的bug
这么多数据你又看不过来,显示有什么意义呢
当然,你可以 用 x[:100] 显示前100个

知道了,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 22:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表