Python3.x与Python2.x的差异用法

Python3.x与Python2.x的差异用法

1,关于urllib2区别:

# python2
import urllib2
 
# python3
# 用urllib.request代替urllib2
import urllib.request

2,关于URLError输出用法区别:

# python2
urllib2.URLError, e:

# python3
urllib.request.URLError as e:

3,关于print用法区别:

# python2
print 'hello world'

#  python2
print('hello world')

4,关于aw_input和input区别:

# python2
#有raw_input和input

# python3
#将raw_input和input进行了整合,只有input

5,关于设置setdefaultencoding区别:

# python2
reload(sys)
sys.setdefaultencoding("utf-8")

# python3
#python3字符串默认编码unicode, 所以sys.setdefaultencoding也不存在,不然会报错:AttributeError: module 'sys' has no attribute 'setdefaultencoding'
#python3.3(低于3.3版本):
import imp
imp.reload(sys)
#python3.4(高于3.4版本):
import importlib 
importlib.reload(sys)

 6,关于urlretrieve()的区别:

# python2
#直接将远程数据下载到本地。 
urllib.urlretrieve(url[, filename[, reporthook[, data]]]) 
参数说明: 
url:外部或者本地url 
filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据); 
reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。 
data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。 
 
# python3
urllib.request.urlretrieve()
#例子:
urllib.request.urlretrieve(imgurl,'d:\\%s.jpg'% x)

 7,关于range()和xrange()区别:

# python2
#有range()和xrange()两个
for x in xrange(1,10,2):
    if x==5:
      continue
    print(x)
for x in range(1,10,2):
    if x==5:
      continue
    print(x)

# python3
#将range()、xrange()两个合并为range()
for x in range(1,10,2):
    if x==5:
      continue
    print(x)

 注意:Python3.x中将range()和xrang()合并为rang();

8,关于zip()函数的区别:

#python2
#zip()用法
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
print(xyz )
u = zip(*xyz)
print(u)
 
#python3
#zip()用法
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = list(zip(x, y, z))
print(xyz )
u = list(zip(*xyz))
print(u)

 9,关于字Unicode字符串区别:

#python2
#Unicode字符串
u'PapayaWhip'
#Unicode原始字符串(使用这种字符串,python不会自动转义反斜线"\")也被替换为普通的字符串
ur'PapayaWhip\foo'
 
#python3
#python2中的Unicode字符串在python3即为普通字符串
'PapayaWhip'
#python3里,所有原始字符串都是以unicode编码的
r'PapayWhip\foo'

 10,关于BeautifulSoup()中参数名称(fromEncoding)区别:

# python2
BeautifulSoup(start_html.content, "html.parser", fromEncoding="gb18030")

#python3
BeautifulSoup(start_html.content, "html.parser", from_encoding="gb18030")

 11,关于ConfigParser模块的用法:

#python2
import ConfigParser

#python3
import configparser

 

 

关于python版本差异可以参考:https://www.cnblogs.com/weikunzz/p/6857971.html

 

posted @ 2017-12-24 22:05  整合侠  阅读(400)  评论(0编辑  收藏  举报