找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 创世之枪

[已回复] python3.4提取字符串

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-8-26 11:13:09 | 显示全部楼层

发? 我是说decode()方法仍然存在
回复 支持 反对

使用道具 举报

0

主题

30

帖子

30

积分

版主

Rank: 7Rank: 7Rank: 7

积分
30

活跃会员热心会员突出贡献荣誉管理

鸟笨Andy 发表于 2016-8-26 11:15:33 | 显示全部楼层

用dir()看一下 你的str有哪些方法,居然没有decode,感觉不科学{:8_210:},没用过py3.6
回复 支持 反对

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
创世之枪  楼主| 发表于 2016-8-26 16:37:23 | 显示全部楼层
blueelwang 发表于 2016-8-26 11:13
发? 我是说decode()方法仍然存在

最新版的python不知道什么问题,反正如我贴出的一样,str类型一调用.decode()就直接报错了,可能是需要import一些东西,看的视频是2.7的,现在感觉跟3.6完全不是一个语言- -!!!!!
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-8-26 20:41:44 | 显示全部楼层
报错那不是因为没有decode()方法,而是因为只有decode只能针对str, 而不能对Unicode进行decode。
详细参见:http://www.pythontab.com/html/2016/pythonjichu_0713/1043.html
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-9-13 21:20:14 | 显示全部楼层
我用python3.4, 前一段折腾了一下编码, 在3.4中, bytes类型有decode() 方法没有encode()方法, str类型有encode()方法没有decode()方法. 因为str本身是unicode,所以不需要decode()方法.

对于unicode的编码解码可以用'unicode-escape',比如 b'\\u8bf7'.decode('unicode-escape') 得到的是汉字 '请'
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
yihao123698745 发表于 2016-9-22 15:20:26 | 显示全部楼层

str类型当然没有decode方法好不好!只有encode方法。
字节数据才有decode方法,urllib.request.urlopen(url).read()出来的东西你自己type一下,是字节类型,你用str()强行转成了字符串就不对了。
正确的写法是html = urllib.request.urlopen(url).read().decode()
这样就返回了字符串结果
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表