测试积点老人 发表于 2019-1-10 15:56:03

python3.x和2.x的区别

本帖最后由 测试积点老人 于 2019-1-10 16:01 编辑

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.parsefrom urlparse import urljoin #python2.X
from urllib.parse import urljoin #python3.X感觉网络相关的都被集中到urllib当中了。

5.pysqlite 2和sqlite3的差别pysqlite是python中与SQLite通信的模块。
在Python2.x中sqlite需要单独的下载安装,安装完成后,导入的语句from pysqlite2 import dbapi2
在Python3.x中已经集成了sqlite模块,导入的语句from sqlite3 import dbapi2

6.decode(解码)/encode(编码)的改变Python 3中str不再具有decode方法,因为它存储的是“未编码”的字符串。decode操作交由byte完成了。还是有encode方法的。'中文'.encode('gb2312')得到b'\xd6\xd0\xce\xc4'

7.StringIO和io.StringIOStringIO去除了StringIO和cStringIO模块,取而代之的是io.StringIO或者io.BytesIO此模块主要用于在内存缓冲区中读写数据。io.StringIO用于处理字符文件,io.BytesIO用于处理二进制文件。
我的理解io.StringIO主要是和gzip一起用的,用于解压压缩文件。


Miss_love 发表于 2021-1-5 13:37:37

支持分享
页: [1]
查看完整版本: python3.x和2.x的区别