源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Python3中的2to3转换工具使用示例

  • 时间:2020-04-06 13:03 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python3中的2to3转换工具使用示例
python3与python2的还是有诸多的不同,比如说在2中:
[u]复制代码[/u] 代码如下:
print "Hello,World!"  raw_input() 
在3里面就成了:
[u]复制代码[/u] 代码如下:
print ("Hello,World!")  input()
所以如果用的python2开发的项目要迁移到3中,就需要进行代码的转换。Python3中自带了个转换工具,下面用个最简单的例子来说说2to3转换工具。 例子:(2to3Test.py  里面只有print这行代码)
[u]复制代码[/u] 代码如下:
# python 2.7.6  # 2to3Test.py    print "Hello,World!" 
用python27显然是可以编译的:
[u]复制代码[/u] 代码如下:
D:\Python>python27 2to3Test.py  Hello,World! 
用python33就编译不过了,因为3里print是函数,这样写就会有语法错误。
[u]复制代码[/u] 代码如下:
D:\Python>python33 2to3Test.py    File "2to3Test.py", line 1      print "Hello,World!"                         ^  SyntaxError: invalid syntax 
下面用python3中自带的2to3工具进行转换:
[u]复制代码[/u] 代码如下:
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来进行编译,结果显示正确的。
[u]复制代码[/u] 代码如下:
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最好还是有。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部