真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么讓腳本同時(shí)兼容Python2和Python3

這篇文章主要講解了“怎么讓腳本同時(shí)兼容Python2和Python3”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么讓腳本同時(shí)兼容Python2和Python3”吧!

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出禹城免費(fèi)做網(wǎng)站回饋大家。

程序開(kāi)發(fā)者常常會(huì)遇到的問(wèn)題是,有?個(gè)?常出名的Python模塊被很多開(kāi)發(fā)者使?著,但并不是所有?都只使?Python2或者Python3。這時(shí)候你有兩個(gè)辦法。第?個(gè)辦法是開(kāi)發(fā)兩個(gè)模塊,針對(duì)Python2?個(gè),針對(duì)Python3?個(gè)。還有?個(gè)辦法就是調(diào)整你現(xiàn)在的代碼使其同時(shí)兼容Python2和Python3。本文將介紹?些方法,讓你的腳本同時(shí)兼容Python2和Python3。

Future模塊導(dǎo)?

這也是最重要的?法,就是導(dǎo)?__future__模塊。它可以幫你在Python2中導(dǎo)?Python3的功能。這有?組例?。上下?管理器是Python2.6+引?的新特性,如果你想在Python2.5中使?它可以這樣做:

from __future__ import with_statement

在Python3中print已經(jīng)變?yōu)?個(gè)函數(shù)。如果你想在Python2中使?它可以通過(guò)__future__導(dǎo)?:

print

# Output:

from __future__ import print_function

print(print)

# Output:

模塊重命名

?先,?多時(shí)候我們會(huì)這樣在腳本中導(dǎo)?模塊:

import foo

# or

from foo import bar

其實(shí)你也可以這樣做:

import foo as foo

這樣做可以起到和上?代碼同樣的功能,但最重要的是它能讓你的腳本同時(shí)兼容Python2和Python3?,F(xiàn)在我們來(lái)看下?的代碼:

try:

import urllib.request as urllib_request # for Python 3

except ImportError:

import urllib2 as urllib_request # for Python 2

稍微解釋?下上?的代碼。我們將模塊導(dǎo)?代碼包裝在try/except語(yǔ)句中。我們是這樣做是因?yàn)樵赑ython 2中并沒(méi)有urllib.request模塊。這將引起?個(gè)ImportError異常。?在Python2中urllib.request的功能則是由urllib2提供的。所以,當(dāng)我們?cè)噲D在Python2中導(dǎo)?urllib.request模塊的時(shí)候,?旦我們捕獲到ImportError我們將通過(guò)導(dǎo)?urllib2模塊來(lái)代替它。

最后,你要了解as關(guān)鍵字的作?。它將導(dǎo)?的模塊映射到urllib.request,所以我們通過(guò)urllib_request這個(gè)別名就可以使?urllib2中的所有類和?法了。

過(guò)期的Python2內(nèi)置功能

另?個(gè)需要了解的事情就是Python2中有12個(gè)內(nèi)置功能在Python3中已經(jīng)被移除了。要確保在Python2代碼中不要出現(xiàn)這些功能來(lái)保證對(duì)Python3的兼容。這有?個(gè)強(qiáng)制讓你放棄12內(nèi)置功能的?法:

from future.builtins.disabled import *

現(xiàn)在,只要你嘗試在Python3中使?這些被遺棄的模塊時(shí),就會(huì)拋出?個(gè)NameError異常,如下:

from future.builtins.disabled import *

apply()

# Output: NameError: obsolete Python 2 builtin apply is disabled

標(biāo)準(zhǔn)庫(kù)向下兼容的外部?持

有?些包在?官?的?持下為Python2提供了Python3的功能。例如我們有:

enum pip install enum34

singledispatch pip install singledispatch

pathlib pip install pathlib

感謝各位的閱讀,以上就是“怎么讓腳本同時(shí)兼容Python2和Python3”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么讓腳本同時(shí)兼容Python2和Python3這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


文章題目:怎么讓腳本同時(shí)兼容Python2和Python3
當(dāng)前路徑:http://weahome.cn/article/pjcseh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部