python3中几个相关的http模块被组合成一个单独的包,即http
python2 python3 备注import httplib import http.client http.client模块实现一个底层的库,可以用来请求和解析http
import cookie import http.cookies http.cookie提供一个pythonic接口进行cookies操作
import cookielib import http.cookiejar http.cookiejar可以操作cookies文件
import BaseHTTPServer import SimpleHTTPServer import CGIHttpServer import http.server http.server实现了一个基本的http服务器
URLLIB
python2中用来分析、编码和获取URL的模块,但是比较混乱,python3中,这些模块被重构,组合成为一个单独的包,即urllib
| python2 | python3 | 备注 | import urllib | import urllib.request, import urllb.parse, import urllib.error | | import urllib2 | import urllib.request, urllib.error | | import urlparse | import urllib.parse | | import robotparser | import urllib.robotparser | | from urllib import FancyURLopener | from urllib.rquest import FancyURLopener from urllib.parse | |from urllib2 import Request from urllib2 import HTTPError | from urllib.request import Request from urllib.error import HTTPError |
DBM
所有的DBM现在都在一个单独的包里,即dbm。如果需要其中某个特定的变体,比如GNU DBM,可以导入dbm包中合适的模块。
python2 python3 备注import dbm import dbm.ndbm
import gdbm import dbm.gnu
import dbhash import dbm.bad
import dumbdbm import dbm.dumb
import anydbm import whichdb import dbm
XMLRPC
XML-RPC是一个通过HTTP协议执行远程RPC调用的轻重级方法。一些XML_RPC客户端和XML_RPC服务端的实现库组合成独立的包,xmlrpc.
python2 python3 备注import xmlrpclib import xmlrpc.client
import DocXMLRPCServer import SimpleXMLRPCServer import xmlrpc.server
其他模块
Python2 python3 备注try: import cStringIO as StringIO except ImportError: import STringIO import io
try: import cPickle as pickle except ImportError: import pickle import pickle
import builtin import builtins
import copy_reg import copyreg
import Queue import queue
import SocketServer import socketserver
import ConfigParser import configparser
import repr import reprlib
import commands import subprocess
包内的相对导入
包是由一组相关联的模块共同组成的单个实体。在python2的时候,为了实现同一个包内模块的相互引用,你会使用import foo或者from foo import Bar。Python2解释器会先在当前目录里搜索foo.py,然后再去python搜索路径(sys.path)搜索。在python3里这个过程有一点不同。Python3不会首先在当前路径搜索,它会直接在Python的搜索路径里寻找。如果想要包里的一个模块导入包的另一个模块,需要显式的提供两个模块的相对路径。
迭代器方法NEXT()