主要记录我遇到的不同的地方,方便查找。html
1.print的差异python
2.x中 sql
print ’test‘python3.x
3.x中api
print(’test‘)
网络
2.urllib的差异
编码
在python3.x中是没有urllib2的,若是须要导入urlopen,这样写url
from urllib.request import urlopen
使用方法:
spa
c=urlopen(page)
若是是.net
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当中了。
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一块儿用的,用于解压压缩文件。
先到这里,细节之后研究