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

首頁 > 編程 > Python > 正文

Python3中的2to3轉換工具使用示例

2019-11-25 17:17:44
字體:
來源:轉載
供稿:網友

python3與python2的還是有諸多的不同,比如說在2中:

復制代碼 代碼如下:

print "Hello,World!" 
raw_input() 

在3里面就成了:
復制代碼 代碼如下:

print ("Hello,World!") 
input()

所以如果用的python2開發的項目要遷移到3中,就需要進行代碼的轉換。Python3中自帶了個轉換工具,下面用個最簡單的例子來說說2to3轉換工具。
例子:(2to3Test.py  里面只有print這行代碼)
復制代碼 代碼如下:

# python 2.7.6 
# 2to3Test.py 
 
print "Hello,World!" 

用python27顯然是可以編譯的:
復制代碼 代碼如下:

D:/Python>python27 2to3Test.py 
Hello,World! 

用python33就編譯不過了,因為3里print是函數,這樣寫就會有語法錯誤。
復制代碼 代碼如下:

D:/Python>python33 2to3Test.py 
  File "2to3Test.py", line 1 
    print "Hello,World!" 
                       ^ 
SyntaxError: invalid syntax 

下面用python3中自帶的2to3工具進行轉換:
復制代碼 代碼如下:

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來進行編譯,結果顯示正確的。
復制代碼 代碼如下:

D:/Python>python33 2to3Test.py 
Hello,World! 

總結:
1. 目錄. C:/Python33/Tools/Scripts/2to3.py.  其實在python2.6,2.7中都存在這個工具。
2. 如果不加-w參數,則默認只是把轉換過程所對應的diff內容打印輸出到當前窗口而已。
3. 加了-w,就是把改動內容,寫回到原先的文件了。
4. 不想要生成bak文件,再加上-n即可。  bak最好還是有。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙江县| 青冈县| 崇信县| 龙海市| 桂东县| 松原市| 鹿邑县| 元江| 思南县| 方正县| 绵竹市| 西畴县| 登封市| 监利县| 普兰店市| 武冈市| 呼和浩特市| 平利县| 泸州市| 岳阳县| 灵台县| 唐山市| 孝感市| 湘潭市| 婺源县| 吉水县| 潼南县| 大埔县| 静宁县| 泗水县| 张家界市| 古丈县| 大宁县| 千阳县| 银川市| 湘阴县| 九龙坡区| 观塘区| 施甸县| 拜城县| 九寨沟县|