不管是在 Python2 還是在 Python3 中,我們可以通過以下方法得到關(guān)鍵字列表:
import keyword
keyword.kwlist
現(xiàn)在我們可以得到兩個版本的 Python 的關(guān)鍵字,手工賦值:
kw2= ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'] # Python2 關(guān)鍵字列表
kw3 = ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] # Python3 的關(guān)鍵字列表
使用內(nèi)建的 difflib 模塊,我們可以比較出增減的關(guān)鍵字:
d = difflib.Differ()
diff = d.compare(kw2, kw3)
print '\n'.join(diff)
得到以下內(nèi)容:
+ False
+ None
+ True
and
as
assert
break
class
continue
def
del
elif
else
except
- exec
finally
for
from
global
if
import
in
is
lambda
+ nonlocal
not
or
pass
- print
raise
return
try
while
with
yield
那么問題來了,不管是使用 Python2 還是 Python3 ,我如何做,才能使用一個腳本,直接實現(xiàn)上面的結(jié)果???
直接上代碼,自己體會吧。
import os
import json
import difflib
def test():
cmd2 = 'E:/Python27/python.exe -c "import keyword;import json;print (json.dumps(keyword.kwlist))"'
cmd3 = 'C:/Python36/python.exe -c "import keyword;import json;print (json.dumps(keyword.kwlist))"'
res2 = json.loads(os.popen(cmd2).read())
res3 = json.loads(os.popen(cmd3).read())
d = difflib.Differ()
diff = d.compare(res2, res3)
print '\n'.join(diff)
if __name__ == '__main__':
test()北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。