1. 程式人生 > >Python 3.5 和 2.7區別

Python 3.5 和 2.7區別

1.     Pickle 區別

在Python 2.7 中,將Dict物件儲存序列化,然後可以自由的發序列化,具體程式碼大致如下:


但是在Python 3.5 呼叫上述程式碼時會報如下錯誤:


這是應為2.7pickle.load函式讀取時預設為bytes讀取,而3.5讀取時預設為ASCII碼讀取,官網說明如下:


所以只需要將呼叫時的讀取格式改為bytes即可

wind = pickle.load(pkl_file,encoding='bytes')

2.     URL訪問不同

在Python2.7 中,申請一個URL請求程式碼如下:

importurllib2 
req = urllib2.Request('http://www.baidu.com') 
response = urllib2.urlopen(req) 

而在3.5中使用request代替,程式碼如下:

from urllibimportrequest

req = request.Request(req_url)

f= request.urlopen(req)

而且有一個更加便捷的訪問方式,可以避免沒有及時關閉的連結,程式碼如下:

from urllib import request
with request.urlopen('https://api.douban.com/v2/book/2129650') as f:
    data = f.read()
    print('Status:', f.status, f.reason)
for k, v 
in f.getheaders():
        print('%s: %s' % (k, v))
    print('Data:', data.decode('utf-8'))

用with as :的方式訪問,當頁面訪問結束時可以自動關閉連結

相關推薦

Python 3.5 2.7區別

1.     Pickle 區別 在Python 2.7 中,將Dict物件儲存序列化,然後可以自由的發序列化,具體程式碼大致如下: 但是在Python 3.5 呼叫上述程式碼時會報如下錯誤: 這是應為2.7pickle.load函式讀取時預設為bytes讀取,而3

CentOS 7中實現Python 3.6與2.7共存及版本切換

貌似目前大多數Linux發行版本中自帶的Python還都是2.7.x系列,但是越來越多的包包都開始拋棄2.7.x版本了,記錄一下在CentOS 7中安裝Python 3.6實現與自帶2.7兩個版本共存並可以自由切換 1.安裝Python 3.6和pip 先新增阿里雲映象站

Windows中Python 2.7Python 3.5相容性問題及對應pip使用方法

Python 2和Python 3的同時使用 有很多人想學習Python3,但是暫時又離不開Python2,所以他們在Windows作業系統上同時安裝了Python 2和Python 3,但是在CMD.exe上面執行”python *.py”的時候只能執行

python 除法 /與//在2.7*3.*版本的區別

In Python 3.0, 5 / 2 will return 2.5 and 5 // 2 will return 2. The former is floating point division, and the latter is floor division, sometimes also

CentOS 7.0 下 Python 2.7 升級到 Python 3.5

sqli qlite entos bin prefix 默認 2.7 dir bzip2 前段因為時間工作需要,要把 Centos 7.0 默認安裝的 Python 2.7 升級到 Python 3.5。 具體操作如下: # 安裝 gcc gcc-c++ 等編譯工具軟件

Python2.7 以及 Python 3.5的例項方法,類方法,靜態方法之間的區別及呼叫關係

  今天很好奇Python2.7 和Python 3.5 的例項方法、類方法、靜態方法之間的 區別與聯絡。所以就做了兩個小實驗來測驗一下 Python3.5及以上 類的定義 class Test(): def instance

Python 3.5.2 TypeError: a bytes-like object is required, not 'str’問題解決方案

con 指定 err byte 讀取 字節 code 解決方案 錯誤 運行環境Mac Python 3.5.2 Q: http_response = """\ HTTP/1.1 200 OK Hello, World! """ client_connection.se

Centos 7 Python版本從預設2.7.5升級至2.7.15,yum list 出現“-bash: /usr/bin/yum: /usr/bin/python: 壞的直譯器: 許可權不夠”

Centos 7 Python版本從預設2.7.5升級至2.7.15,yum list 出現“-bash: /usr/bin/yum: /usr/bin/python: 壞的直譯器: 許可權不夠” 在這裡說明一下Centos 7 的yum是依賴於Python2.7.5

CentOS 6.5 hadoop 2.7.3 叢集環境搭建

CentOS 6.5 hadoop 2.7.3 叢集環境搭建 所需硬體,軟體要求 使用 virtualbox 構建三臺虛擬機器模擬真實物理環境 作業系統:CentOS6.5 主機列表: master ip: 192.168.3.171 slav

python 3.5 安裝pip安裝

python3.5,直接去官網去找跟自己系統相符的版本 https://www.python.org/downloads/release/python-352/ 網上有很多安裝教程可以自行百度,只有注意安裝中把新增path路徑選上就好 編輯器我用的是sublime text

Python 3基礎教程2-列印語句字串

本文介紹Python 3中的列印語句和字串使用,具體練習請看下面的demo.py print ('Hello Python 3!') """ 文字講列印語句和字串 列印語句,裡面的訊息可以用單引號或

在anaconda中安裝、切換python的版本:2.7~3.6

1如果安裝的是anaconda2,那麼python3的就要在conda中建立一個名為python36的環境,並下載對應版本python3.6,然後執行如下語句,應該就可以在anaconda2\envs\下建立一個python36的目錄,裡面就是建立python36環境必要檔

python-2 字串函式之三 isdigit() 、 isnumeric() 、isdecimal 區別 Python中 isdigit() isnumeric() 的區別

Python中 isdigit() 和 isnumeric() 的區別   num = "1" #unicodenum.isdigit() # Truenum.isdecimal() # Truenum.isn

JDK 1.5、1.61.7區別

JDK1.5(JDK5.0) Java2標準版(Java2 Platform, Standard Edition, J2SE)1.5版本更新不同於以往,它帶來了很多里程碑式的革新,SUN將其綽號取名為“虎”。這一次的變革將是Java誕生以來從未有過的,它給我們帶來了耳目一新的感覺。下面我們就來欣賞一下其中

Linux下安裝python3.62.7版本,如何將python改為預設的2.7版本的方法

1、首先要檢視python的安裝路徑:    $ which python查詢的是系統預設的版本(如果安裝了3.6版,那麼這裡顯示的是3.6版本的路徑)    $ which python2.7 查詢的是python2.7版本的路徑(一般預設為/usr/bin/python)

Pydev 5.1.2 + Python 3.5.2 + Eclipse 4.4.2 搭配教程

本文主要搭建最新的Python 3.5.2 + Pydev 5.1.2,以及簡單的新建專案示例。 1 Eclipse安裝 l  自行上Eclipse官網下載最新的Eclipse 下載地址: http://www.oracle.com/technetwork/java/jav

ubuntu 將python從預設的2.7升級到3.*

因為Ubuntu很多底層採用的是Python2.*,Python3和Python2是互相不相容的,所以此時不能解除安裝Python2,需要將預設Python的指向Python3。 第一步 通過指令下載python3 sudo apt-get instal

安裝Python-3.5.2過程中常見的幾種錯誤

1.Ignoring ensurepip failure: pip-8.1.1 requires SSL/TLS 錯誤詳細: Last 10 log lines: (cd /home/dabney/.pyenv/versions/3.5.2/share/man/man1;

python 3.5.2 下載(帶資源免費)

python 3.5.2 下載:連結:https://pan.baidu.com/s/1uTQlq9ajabGpuYVaE24vQg 密碼:oj8e 不知道怎麼回事,外網的eclipse和python這類資源網速都下不動了,最近想用3.5.2版本,一去網上下載,發現

Python 3 利用 Dlib 19.7 實現人臉檢測剪下

點選有驚喜 0.引言    利用python開發,藉助Dlib庫進行人臉檢測/face detection;    1. dlib_cut_faces.py :      將檢測到的人臉剪下下來,依次排序顯示在新的影象上;     實現的效果如圖1所示,將圖