设为首页收藏本站

Crossin的编程教室

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

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

[复制链接]

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

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

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

使用道具 举报

174

主题

45

好友

10万

积分

管理员

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

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

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

使用道具 举报

174

主题

45

好友

10万

积分

管理员

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

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

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

使用道具 举报

0

主题

0

好友

50

积分

注册会员

Rank: 2

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

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

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

使用道具 举报

0

主题

0

好友

46

积分

新手上路

Rank: 1

28#
发表于 2016-6-28 15:12:02 |只看该作者
本帖最后由 Yumiao_HyunMin 于 2016-6-28 15:13 编辑

想问个问题,如果想让输出的总成绩按照每个人总分降序排列要怎么写?我在results.append(result)后面用了lambda但不太会用,排列出来并不是降序或者是升序的:
results.sort(key=lambda l: (l[1]), reverse = True)

应该写呢?新手求教
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

29#
发表于 2016-6-29 14:24:19 |只看该作者
Yumiao_HyunMin 发表于 2016-6-28 15:12
想问个问题,如果想让输出的总成绩按照每个人总分降序排列要怎么写?我在results.append(result)后面用了la ...

排序本身写的没问题,你的results是什么格式的,l[1]表示用每一项的第2个元素来排序
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

46

积分

新手上路

Rank: 1

30#
发表于 2016-6-29 15:47:59 |只看该作者
crossin先生 发表于 2016-6-29 14:24
排序本身写的没问题,你的results是什么格式的,l[1]表示用每一项的第2个元素来排序 ...

我在for 里面输出results以后,中文名字都是用\x跟着十六进制数来表示:
  1. ['\xe5\x88\x98\xe5\xa4\x87 \t: 200\n']
  2. ['\xe5\x88\x98\xe5\xa4\x87 \t: 200\n', '\xe5\x85\xb3\xe7\xbe\xbd \t: 205\n']
  3. ['\xe5\x88\x98\xe5\xa4\x87 \t: 200\n', '\xe5\x85\xb3\xe7\xbe\xbd \t: 205\n', '\xe5\xbc\xa0\xe9\xa3\x9e \t: 376\n']
  4. ['\xe5\xbc\xa0\xe9\xa3\x9e \t: 376\n', '\xe5\x88\x98\xe5\xa4\x87 \t: 200\n', '\xe5\x85\xb3\xe7\xbe\xbd \t: 205\n', '\xe8\xaf\xb8\xe8\x91\x9b\xe4\xba\xae \t: 100\n']

  5. 需要先decode中文字符吗?还是可以跳过中文名字比较成绩呢
复制代码
回复

使用道具 举报

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

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

GMT+8, 2024-4-26 13:40 , Processed in 0.038193 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部