您的位置:首页 > 编程语言 > Python开发

python3.x和2.x的区别

2014-10-26 00:00 113 查看
主要记录我遇到的不一样的地方,方便查找。

1.print的差别

2.x中

print ’test‘

3.x中

print(’test‘)

2.urllib的差别

在python3.x中是没有urllib2的,如果需要导入urlopen,这样写

from urllib.request import urlopen


使用方法:

c=urlopen(page)


如果是

import urllib.request


同样是使用:

c=urllib.request.urlopen(page)


3.configparser的差别

python2.x的配置模块是ConfigParser,python3.x改成configparser

例子:

from configparser import ConfigParser

CONFIGFILE = "config.txt"

config = ConfigParser()

config.read(CONFIGFILE)


也可以这样

import configparser

CONFIGFILE = "config.txt"

config = configparser .ConfigParser()


首字母改成小写可能是为了防止混淆吧。

4.urlparse的差别

Python所带的urllib.parse(urlparse)模块,我们能够轻松地把URL分解成元件,之后,还能将这些元件重新组装成一个URL。

python2.X为urlparse,在python3.X改为urllib.parse

from urlparse import urljoin #python2.X
from urllib.parse import urljoin #python3.X


感觉网络相关的都被集中到urllib当中了。

相关文章:urlparse和urllib解析html

5.pysqlite 2和sqlite3的差别

pysqlite是python中与SQLite通信的模块。

在Python2.x中sqlite需要单独的下载安装,安装完成后,导入的语句

from pysqlite2 import dbapi2


在Python3.x中已经集成了sqlite模块,导入的语句

from sqlite3 import dbapi2


[b]6.decode(解码)/[/b]encode(编码)[b]的改变[/b]

Python 3中str不再具有decode方法,因为它存储的是“未编码”的字符串。decode操作交由byte完成了。

还是有encode方法的。

'中文'.encode('gb2312')得到b'\xd6\xd0\xce\xc4'

[b]7.[b][b]StringIO和io.StringIO[/b][/b][/b]

StringIO去除了StringIO和cStringIO模块,取而代之的是io.StringIO或者io.BytesIO

此模块主要用于在内存缓冲区中读写数据。io.StringIO用于处理字符文件,io.BytesIO用于处理二进制文件。

我的理解io.StringIO主要是和gzip一起用的,用于解压压缩文件。

先到这里,细节以后研究
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python