设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 49225|回复: 22
打印 上一主题 下一主题

【Python 第33课】 处理文件中的数据

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

楼主
发表于 2014-2-7 11:55:46 |显示全部楼层
福尔摩斯683 发表于 2014-2-6 23:59
data[1:]
这个是下标为1以后的数组元素吗?

是的,从1开始,包括1
如果是数字在冒号后面,则是到那个数字前,不包括它
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2014-5-31 16:00:52 |显示全部楼层
Go_for_Math 发表于 2014-5-31 10:33
Traceback (most recent call last):
  File "E:/Python27/lesson/lesson33.py", line 10, in
    result= ...

空行导致第一个data是空list,访问data[0],0这个index就out了data这个list的range
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2014-6-8 14:21:21 |显示全部楼层
Eagle 发表于 2014-6-7 09:23
我将字符输出打印,出现这个
['EncFile\x00\x01\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 ...

你这是把一个list对象整个打印了,所以程序不会解码。你要把list里面的元素拿出来打印
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2014-7-27 16:49:24 |显示全部楼层
QQ_E29166 发表于 2014-7-26 20:13
f = file('E:/scores.txt')
output = file('E:/result.txt', 'w')
我把他们写成

\是转义字符,会把很多字符变成特殊含义的,要用也是\\
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2015-4-24 15:30:43 |显示全部楼层
你最后一段有问题
每次都在循环里 writelines
也没有调用 close()
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

6#
发表于 2015-12-9 21:23:04 |显示全部楼层
460883323 发表于 2015-12-9 20:42
假如把报错这行放到sum的循环里面的话,就会不报错,但是生成的文件不对
...

调试的时候,把每一步的结果print出来,看看是什么情况,哪里和预想的值不一样了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

7#
发表于 2015-12-10 21:34:19 |显示全部楼层
460883323 发表于 2015-12-9 22:40
恕我愚钝,不是很明白先生的意思。如果在 for score 这个循环里面添加print result的话,那么输出是一个 ...


data[0]那里报out of range,说明data有问题,你把每次的data都打印出来看是什么情况
应该是因为有空行,造成最后一个data是空的,空的data去取data[0]自然就有问题了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

8#
发表于 2016-1-3 16:50:53 |显示全部楼层
catherinemic 发表于 2016-1-3 15:53
刚才试着把内容写进一个新的txt文件,然后去看,发现原来的突然都有内容了,新的却还是没有。 ...

你那个地址里有\符号,会转义的,要么用r'xxxxxx',要么用双\\。
另外你close没有加括号,并没有调用函数
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

9#
发表于 2016-1-4 14:51:05 |显示全部楼层
catherinemic 发表于 2016-1-3 16:59
试了\\,这次没问题了,r'xxxxxx'是什么呢?

字符串前面加r就是不转义,保留原始字符
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

10#
发表于 2016-1-21 11:21:50 |显示全部楼层
那夏日 发表于 2016-1-20 11:56
为什么会分别得到4个list,而不是一个包括所有数据list?

因为是每一行拿出来处理的。
整个读进来的数据,其实是一个每一行字符串组成的list
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-7 05:06 , Processed in 0.033119 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部