本帖最后由 测试积点老人 于 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=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当中了。
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.StringIO StringIO去除了StringIO和cStringIO模块,取而代之的是io.StringIO或者io.BytesIO 此模块主要用于在内存缓冲区中读写数据。io.StringIO用于处理字符文件,io.BytesIO用于处理二进制文件。
我的理解io.StringIO主要是和gzip一起用的,用于解压压缩文件。
|