国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 成安县| 壶关县| 伊川县| 英山县| 年辖:市辖区| 漯河市| 晋州市| 陆河县| 肥东县| 称多县| 韶山市| 贵德县| 积石山| 大港区| 辽中县| 临安市| 屏南县| 二手房| 阿坝县| 周口市| 西贡区| 左贡县| 宿松县| 广安市| 静乐县| 全南县| 马尔康县| 苏尼特左旗| 四川省| 遂昌县| 华安县| 海南省| 合肥市| 沧州市| 囊谦县| 通山县| 花莲县| 岑溪市| 牙克石市| 靖边县| 武义县|