设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: mty1111
打印 上一主题 下一主题

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

[复制链接]

0

主题

0

好友

50

积分

注册会员

Rank: 2

26#
发表于 2016-1-20 11:56:07 |只看该作者
为什么会分别得到4个list,而不是一个包括所有数据list?
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

25#
发表于 2016-1-7 21:14:03 |只看该作者
crossin先生 发表于 2016-1-4 14:51
字符串前面加r就是不转义,保留原始字符

明白啦,谢谢crossin先生!
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

24#
发表于 2016-1-4 14:51:05 |只看该作者
catherinemic 发表于 2016-1-3 16:59
试了\\,这次没问题了,r'xxxxxx'是什么呢?

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

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

23#
发表于 2016-1-3 16:59:49 |只看该作者
crossin先生 发表于 2016-1-3 16:50
你那个地址里有\符号,会转义的,要么用r'xxxxxx',要么用双\\。
另外你close没有加括号,并没有调用函数 ...

试了\\,这次没问题了,r'xxxxxx'是什么呢?
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

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

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

21#
发表于 2016-1-3 15:53:11 |只看该作者
catherinemic 发表于 2016-1-3 15:41
crossin 老师,我想把txt文件保存在一个单独的文件夹里,于是去查了查相对路径怎么写,试着改了下,第一个 ...

刚才试着把内容写进一个新的txt文件,然后去看,发现原来的突然都有内容了,新的却还是没有。
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

20#
发表于 2016-1-3 15:48:05 |只看该作者
catherinemic 发表于 2016-1-3 15:41
crossin 老师,我想把txt文件保存在一个单独的文件夹里,于是去查了查相对路径怎么写,试着改了下,第一个 ...

刚才发现单独write那个写进去了,writelines这个仍然不行。
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

19#
发表于 2016-1-3 15:41:14 |只看该作者
crossin 老师,我想把txt文件保存在一个单独的文件夹里,于是去查了查相对路径怎么写,试着改了下,第一个地方通过了,为什么第二个地方总是有问题呢?
  1. f=file('.\data file\grades.txt')
  2. lines=f.readlines()
  3. print lines
  4. f.close

  5. results=[]

  6. for line in lines:
  7.     print line
  8.     data=line.split()
  9.     print data

  10.     sum=0
  11.     for score in data[1:]:
  12.         sum+=int(score)
  13.     result='%s\t:%d\n'%(data[0],sum)
  14.     print result
  15.    
  16.     results.append(result)

  17. print results
  18.    
  19. output=file('.\data file\result.txt','w')
  20. output.writelines(results)
  21. output.close
复制代码
后来我把创建第二个txt文件那里改成’result.txt',运行没有问题,但是创建的txt文件打开确实空的,不知道怎么回事,昨天“写文件”那课是正常的。今天又试了单独write,也不行。

Python17.png (15.7 KB, 下载次数: 374)

Python17.png

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

18#
发表于 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
回复

使用道具 举报

0

主题

0

好友

46

积分

新手上路

Rank: 1

17#
发表于 2015-12-9 22:40:51 |只看该作者
crossin先生 发表于 2015-12-9 21:23
调试的时候,把每一步的结果print出来,看看是什么情况,哪里和预想的值不一样了
...

恕我愚钝,不是很明白先生的意思。如果在 for score 这个循环里面添加print result的话,那么输出是一个累加过程,如果直接复制先生的代码运行的话,不知道为啥也会有报错,唯有这样改动下不报错,却出现一个名字重复出现两次的情况
回复

使用道具 举报

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

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

GMT+8, 2024-5-21 02:53 , Processed in 0.024957 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部