国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python3中的2to3轉(zhuǎn)換工具使用示例

2020-02-23 01:35:12
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

python3與python2的還是有諸多的不同,比如說(shuō)在2中:
代碼如下:
print "Hello,World!" 
raw_input() 

在3里面就成了:
代碼如下:
print ("Hello,World!") 
input()

所以如果用的python2開(kāi)發(fā)的項(xiàng)目要遷移到3中,就需要進(jìn)行代碼的轉(zhuǎn)換。Python3中自帶了個(gè)轉(zhuǎn)換工具,下面用個(gè)最簡(jiǎn)單的例子來(lái)說(shuō)說(shuō)2to3轉(zhuǎn)換工具。
例子:(2to3Test.py  里面只有print這行代碼)
代碼如下:
# python 2.7.6 
# 2to3Test.py 
 
print "Hello,World!" 

用python27顯然是可以編譯的:
代碼如下:
D:/Python>python27 2to3Test.py 
Hello,World! 

用python33就編譯不過(guò)了,因?yàn)?里print是函數(shù),這樣寫(xiě)就會(huì)有語(yǔ)法錯(cuò)誤。
代碼如下:
D:/Python>python33 2to3Test.py 
  File "2to3Test.py", line 1 
    print "Hello,World!" 
                       ^ 
SyntaxError: invalid syntax 

下面用python3中自帶的2to3工具進(jìn)行轉(zhuǎn)換:
代碼如下:
D:/Python>python C:/Python33/Tools/Scripts/2to3.py -w 2to3Test.py 
RefactoringTool: Skipping implicit fixer: buffer 
RefactoringTool: Skipping implicit fixer: idioms 
RefactoringTool: Skipping implicit fixer: set_literal 
RefactoringTool: Skipping implicit fixer: ws_comma 
RefactoringTool: Refactored 2to3Test.py 
--- 2to3Test.py (original) 
+++ 2to3Test.py (refactored) 
@@ -1 +1 @@ 
-print "Hello,World!" 
+print("Hello,World!") 
RefactoringTool: Files that were modified: 
RefactoringTool: 2to3Test.py 

最后用python33來(lái)進(jìn)行編譯,結(jié)果顯示正確的。
代碼如下:
D:/Python>python33 2to3Test.py 
Hello,World! 

總結(jié):
1. 目錄. C:/Python33/Tools/Scripts/2to3.py.  其實(shí)在python2.6,2.7中都存在這個(gè)工具。
2. 如果不加-w參數(shù),則默認(rèn)只是把轉(zhuǎn)換過(guò)程所對(duì)應(yīng)的diff內(nèi)容打印輸出到當(dāng)前窗口而已。
3. 加了-w,就是把改動(dòng)內(nèi)容,寫(xiě)回到原先的文件了。
4. 不想要生成bak文件,再加上-n即可。  bak最好還是有。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 穆棱市| 南漳县| 平度市| 正安县| 米易县| 敦化市| 呼玛县| 武定县| 林口县| 上饶市| 上林县| 政和县| 鹿泉市| 岳普湖县| 娄烦县| 兴城市| 石林| 娱乐| 梓潼县| 招远市| 新龙县| 寿宁县| 眉山市| 句容市| 垣曲县| 固安县| 芜湖市| 金坛市| 甘南县| 措勤县| 平度市| 利津县| 政和县| 明水县| 中西区| 石门县| 伊金霍洛旗| 迭部县| 耒阳市| 崇仁县| 工布江达县|