设为首页收藏本站

Crossin的编程教室

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

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

[复制链接]

0

主题

0

好友

48

积分

新手上路

Rank: 1

楼主
发表于 2018-6-5 09:35:04 |显示全部楼层
  1. f = open('score.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.    
  11.     sum = 0#每次循环时,sum都需要清零
  12.     for score in data[1:]:
  13.         sum += int(score)
  14.         

  15.     result = '%s\t:%d\n'%(data[0],sum)
  16.     print(result)

  17.     results.append(result)

  18. print(results)
  19. output = open('result.txt','w')
  20. output.writelines(results)
  21. output.close()
复制代码
当文件中有#-- scores.txt时,int(score)就会报错,因为解析出来的第一行是这个注释,无法转成int形,去掉就可以,那么就是说我们这个score的文件中不能用注释了是么?
  1. Traceback (most recent call last):
  2.   File "F:\Selenium 2自动化测试实战  基于Python语言\练习脚本\lesson33--处理文件中的数据.py", line 15, in <module>
  3.     sum += int(score)
  4. ValueError: invalid literal for int() with base 10: 'scores.txt'
复制代码
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

沙发
发表于 2018-6-5 11:30:03 |显示全部楼层
crossin先生 发表于 2018-6-5 11:15
文件不是代码,不存在注释,那个也会当作内容
这里是我一开始教程里的歧义,后来版本有去掉 ...

明白了!第一次提问真的有被回复很开心!谢谢crossin先生!
回复

使用道具 举报

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

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

GMT+8, 2024-5-11 16:52 , Processed in 0.026984 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部