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

Python3.x与Python2.x的差异用法的更多相关文章

  1. 自学Python1.3-centos内python3并与python2共存

    自学Python之路 自学Python1.3-centos内python3并与python2共存 1. 查看是否已经安装Python 测试机系统CentOS 7 默认安装了python2.7, 使用 ...

  2. Python3 join函数和os.path.join用法

    Python3  join函数和os.path.join用法 os.path.join()连接两个文件名地址的时候,就比os.path.join("D:\","test. ...

  3. Python3.x:bs4解析html基础用法

    Python3.x:bs4解析html基础用法 代码: import urllib.request from bs4 import BeautifulSoup import re url = r'ht ...

  4. 7-linux-Centos7安装python3并与python2共存

    转载自:https://www.cnblogs.com/JahanGu/p/7452527.html linux-Centos7安装python3并与python2共存   1.查看是否已经安装Pyt ...

  5. Python3.x:正则 re.findall()的用法

    Python3.x:正则 re.findall()的用法 概念: 语法:findall(pattern, string, flags=0) 说明:返回string中所有与pattern相匹配的全部字串 ...

  6. linux上安装python3同时保留python2

    linux上安装python3同时保留python2?这个就要用到上篇说到的path变量了. 具体介绍及操作 这里我下载python3.6版本来进行介绍 django默认数据库为sqlite3,所以安 ...

  7. Python3中内置类型bytes和str用法及byte和string之间各种编码转换,python--列表,元组,字符串互相转换

    Python3中内置类型bytes和str用法及byte和string之间各种编码转换 python--列表,元组,字符串互相转换 列表,元组和字符串python中有三个内建函数:,他们之间的互相转换 ...

  8. python3自动安装脚本,python3.x与python2.x共存

    1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且 ...

  9. 安装python3.8和python2.7

    在同一台电脑上同时安装Python2和Python3 目前Python的两个版本Python2和Python3同时存在,且这两个版本同时在更新与维护. 到底是选择Python2还是选择Python3, ...

随机推荐

  1. SQL Fundamentals: 子查询 || 行列转换(PIVOT,UNPIVOT,DECODE),设置数据层次(LEVEL...CONNECT BY)

    SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...

  2. 0004python中的map,reduce,lambda,filter

    编程实现:a[0]*b[0] + a[1]*b[1] +...+a[i]*b[j] >>> a=[1,2,3,4,5]>>> b=[6,7,8,9,0] >& ...

  3. 算法提炼是落脚点-php数组-字符串函数

    int array_unshift    ( array &$array   , mixed $value1   [, mixed $...  ] ) array_unshift() prep ...

  4. 审核被拒绝。附近??Guideline 5.1.2

    5. 1.2 Legal: Privacy - Data Use and Sharing Guideline 5.1.2 - Legal - Privacy - Data Use and Sharin ...

  5. mysql主从服务器的配置

    使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...

  6. VIM 文件编码识别与乱码处理(转载)

    在 Vim 中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding 和 termencoding.在实际使用中,任何一个选项出现错误,都会导致出现乱 ...

  7. Python开发【笔记】:what?进程queue还能生产出线程!

    进程queue底层用线程传输数据 import threading import multiprocessing def main(): queue = multiprocessing.Queue() ...

  8. 洛谷P2801 教主的魔法 分块

    正解:分块 解题报告: 哇之前的坑还没填完就又写新博客? 不管不管,之前欠的两三篇题解大概圣诞节之前会再仔细想想然后重新写下题解趴,确实还挺难的感觉没有很好的理解呢QAQ还是太囫囵吞枣不求甚解了,这样 ...

  9. java NIO (二) 一个故事讲清楚NIO

    假设某银行只有10个职员.该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟): 2) 职员审核(1分钟): 3) 职员叫保安去金库取钱(3分钟): 4) 职员打印票据,并将钱和票据返回给 ...

  10. vue.set的用法

    Vue.set(this.food,'count',1) //就是给this.food里面添加一个count的属性,并且赋值为1