设为首页收藏本站

Crossin的编程教室

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

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

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

16#
发表于 2015-12-9 21:23:04 |只看该作者
460883323 发表于 2015-12-9 20:42
假如把报错这行放到sum的循环里面的话,就会不报错,但是生成的文件不对
...

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

使用道具 举报

0

主题

0

好友

46

积分

新手上路

Rank: 1

15#
发表于 2015-12-9 20:42:06 |只看该作者
460883323 发表于 2015-12-9 16:38
好吧,这个问题我把score。txt里面的一些字段删掉就没了,又变成这个错误:
...

假如把报错这行放到sum的循环里面的话,就会不报错,但是生成的文件不对
捕获.JPG
回复

使用道具 举报

0

主题

0

好友

46

积分

新手上路

Rank: 1

14#
发表于 2015-12-9 16:38:36 |只看该作者
460883323 发表于 2015-12-9 16:27
这为啥突然报了转型错误。。。。

好吧,这个问题我把score。txt里面的一些字段删掉就没了,又变成这个错误:
捕获.JPG
回复

使用道具 举报

0

主题

0

好友

46

积分

新手上路

Rank: 1

13#
发表于 2015-12-9 16:27:59 |只看该作者
捕获.JPG
这为啥突然报了转型错误。。。。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

0

主题

0

好友

215

积分

中级会员

Rank: 3Rank: 3

11#
发表于 2015-4-24 14:45:07 |只看该作者
  1. f = file('scores.txt')
  2. lines = f.readlines()
  3. f.close()

  4. results = []

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

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

  14.     results.append(result)
  15. for i in results:
  16.     print i
  17.     output = file('result.txt','w')
  18.     output.writelines(results)
  19.     output.close
复制代码
为什么我的第一遍F5后只有一个空白的txt,多运行几遍才出来结果
回复

使用道具 举报

0

主题

0

好友

36

积分

新手上路

Rank: 1

10#
发表于 2015-3-14 16:25:53 |只看该作者
#coding:utf-8
#读取文件计算学生总成绩
#read file
results = []
f = file('scoreDate.txt')
scores = f.readlines()
for line in scores :
                data = line.split(' ')
                count = 0
                for core in data[1:] :
                                count += int(core)
                result = data[0] + '' + str(count) + '\n'
                results.append(result)
f2 = file('countScores.txt','w')
f2.writelines(results)
print '总成绩已经计算完毕啦!!快去查看吧!'
f2.close()
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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
回复

使用道具 举报

8#
匿名  发表于 2014-7-26 20:13:23
f = file('E:/scores.txt')
output = file('E:/result.txt', 'w')
我把他们写成
f = file('E:\scores.txt')
output = file('E:\result.txt', 'w')
就是报错!!原来  \和/不一样。
回复

使用道具

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

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

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

GMT+8, 2024-5-21 03:30 , Processed in 0.020779 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部