python3.x和2.x的区别

主要记录我遇到的不同的地方,方便查找。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当中了。

相关文章:urlparse和urllib解析html


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一块儿用的,用于解压压缩文件。


先到这里,细节之后研究

相关文章
相关标签/搜索